---
# System prepended metadata

title: Roadmap Second Half A3

---

# Roadmap Second Half A3

## Docker

### What you need to know

#### Conceitos

- Image - Snapshot do software com dependencias, pode ser executada em muitos containers
- Container - O Software a correr no mundo real. Executa uma imagem e corre isolado de outros containers e da máquina que dá host.
- DockerFile - Script que especifica para o Docker como construir uma imagem
- Docker-Compose - Script que constroi imagens e cria containers

#### Comandos

- `docker build -t $DOCKER_USERNAME/$IMAGE_NAME .` - Constroi uma imagem a partir de um DockerFile
    - `-t $DOCKER_USERNAME/$IMAGE_NAME` atribui um nome á imagem
    - `.` Diretório onde se encontra a imagem

- `docker run -it -p 8000:80 -v $PWD/html:/var/www/html <DOCKER_USERNAME>/<IMAGE NAME>` - Cria um container e executa a imagem nesse container
    - `-it` not very important...Means interactive  ou seja basicamente em vez de o container ficar a correr em background fica sempre ali e portanto basta ctrl+c para matá-lo
    - `-p 8000:80` associa a porta 80 do container à porta 8000 da máquina
    - `-v $PWD/html:/var/www/html` Cria um volume para associar um diretório da máquina a um diretório no container. Dependendo do OS a comando `$PWD` será diferente ([reference](https://stackoverflow.com/questions/41485217/mount-current-directory-as-a-volume-in-docker-on-windows-10))
    - `<DOCKER_USERNAME>/<IMAGE NAME>` Último argumento é o nome da Imagem

- `docker login` - Dá login numa conta de Docker Hub. Necessário Username e Password

- `docker push $DOCKER_USERNAME/$IMAGE_NAME` publica Uma imagem para o DockerHub, na conta em que está logado
    - `$DOCKER_USERNAME/$IMAGE_NAME` imagem que dará push

- `docker-compose up` - Único comando necessário, isto dá build e run dos containers para dentro de um serviço e fica tudo nice

### Conclusão

Só é necessário fazer `docker-compose up` e fica tudo disponível em `localhost:8000`. Se quiserem saber o que faz o `DockerFile` e/ou o `docker-compose.yml` é dar uma olhada nos docs.


## HTML

Mais vale fazer bem de inicio do que fazer merda e corrigir depois.
Antes de começar a fazer qualquer página tem de se saber o que se pode fazer, o que se vai fazer, e como o fazer.
Já sabemos o que vamos fazer (FreeHand). O que podemos fazer e como, não sabemos.
O primeiro passo é : https://getbootstrap.com/docs/5.0/getting-started/introduction/
==Não ler na diagonal.==

### Módulos e páginas

- Admin
    - [x] [name=Ricardo] Supplier Request | List 
    - [x] [name=Ricardo] Supplier Request | Accept/Deny
    - [x] [name=Ricardo] View Products
    - [x] [name=Ricardo] View Users 
    - [x] [name=Ricardo] View User | Delete
- Client Profile
    - [x] [name=André] Perfil Inicial | Purchase History
    - [x] [name=André] Favorites
    - [x] [name=André] Periodic Buys
    - [x] [name=André] Edit Profile
- Supplier Profile
    - [x] [name=André] Profile | Products
    - [ ] [name=Luís] Create Product
    - [x] [name=Zé] All Products
    - [x] [name=Zé] Bundles | Cupons
    - [ ] [name=Luís] Create/Edit Bundle
    - [ ] [name=Luís] Create/Edit Cupon
- Register Login
    - [x] [name=André] Login
    - [x] [name=André] Register Client
    - [x] [name=André] Register Supplier 
- CheckOut
    - [x] [name=Zé] Cart Information
    - [x] [name=Zé] Shipping | Payment
    - [x] [name=Zé] Periodic Buys
    - [x] [name=Zé] Payment Information
    - [x] [name=Zé] Pop Up Order Accepted
- Misc
    - [x] [name=Ricardo] HomePage
    - [x] [name=Ricardo] About Us
    - [ ] [name=Luís] Search
    - [ ] [name=Luís] Products List | Filters
    - [ ] [name=Luís] Product Detail
    - [ ] [name=Luís] Supplier Detail

Ricardo - 7
Luís - 7
André - 8
Zé - 7

| Dias          | Esperado cumulativo (Feitas no dia) |
|---------------|-------------------------------------|
| Segunda/Terça | Docker e Bootstrap                  |
| Quarta        | 1 (1)                               |
| Quinta        | 2 (1)                               |
| Sexta         | 3 (1)                               |
| Sábado        | 5 (2)                               |
| Domingo       | 7 (2) + Começar a juntar páginas    |
| Segunda       | Acabar de juntar páginas e ver US   |
| Terça         | Entrega                             |