# 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 |