Bem-vindo ao repositório do projeto App de Delivery! Essa aplicação consiste em uma plataforma de delivery de cerveja. 🍻
⚠️ Configurações mínimas para execução do projeto
Na sua máquina você deve ter:
- Docker
- Docker-compose versão >=1.29.2
Siga as instruções apropriadas para o sistema operacional que você está usando:
-
- Faça o download do instalador do Docker para Windows aqui.
-
- Faça o download do instalador do Docker para macOS aqui.
Certifique-se de ter o Docker Compose instalado na versão 1.29 ou superior. Siga as instruções abaixo:
-
- O Docker Compose já é instalado junto com o Docker Desktop para Windows. Se você seguiu as instruções de instalação do Docker para Windows, o Docker Compose também deve estar disponível.
-
- O Docker Compose já é instalado junto com o Docker Desktop para macOS. Se você seguiu as instruções de instalação do Docker para macOS, o Docker Compose também deve estar disponível.
-
-
Faça o download do executável do Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose -
Dê permissão de execução ao arquivo:
sudo chmod +x /usr/local/bin/docker-compose
-
Verifique se a instalação foi bem-sucedida:
docker-compose --version
-
Certifique-se de verificar se o Docker e o Docker Compose foram instalados corretamente executando os comandos docker --version e docker-compose --version no terminal. Ambos os comandos devem retornar as versões instaladas.
🚀 Instalação e execução
- Clone o repositório
-
git clone git@github.com:kadraknb/delivery-app.git cd delivery-app
- Inicializar o projeto
-
scripts/start.sh
- Acesso do projeto
🪛 Scripts Principais
Aqui estão os scripts principais definidos na raiz do projeto:
-
start: Limpa as portas3000,3001e3002, faz o build do Docker e inicia obanco de dados,backendefrontendscripts/start.sh
-
stop: Para e deleta as aplicações em execução noDocker.;scripts/stop.sh
-
logs: Exibe os logs das aplicações em execução noDocker;scripts/logs.sh
-
db:start: Executa os scripts doSequelizepara inicializar o banco de dadosscripts/start-db.sh
-
db:drop: Executa os scripts doSequelizepara excluir o banco de dadosscripts/drop-db.sh
-
db:reset: Executa os scripts doSequelizepara restaurar o banco de dadosscripts/reset-db.sh
🏗️ Estrutura do projeto
O projeto é organizado da seguinte forma:
1 . Banco de dados: Utiliza um container Docker MySQL configurado no Docker Compose, acessível pela porta 3002 do localhost.
2 . Back-end: Desenvolvido com as seguintes dependências:
expressjoijson web tokenmd5sequelizemysql2nodemonmochachai
3 . Front-end: Desenvolvido com as seguintes dependências:
reacthistoryaxiosweb-vitals
4 . Docker: O Docker Compose é utilizado para reunir todos os serviços (backend, frontend e banco de dados) e executar o projeto completo.
🛠 Desenvolvido
O Fluxo comum deve garantir que seja possível fazer login e registrar no sistema.
O fluxo do cliente deve garantir que seja possível navegar e escolher produtos, adicionar produtos ao carrinho, fazer checkout (gerar uma nova venda), consultar pedidos e acessar detalhes do mesmo.
O fluxo da pessoa vendedora deve garantir que é possível listar pedidos relacionados àquela pessoa vendedora e manipular o status desses pedidos.
A validação de status consiste em uma série de testes que devem assegurar que os status do pedido sejam alterados e refletidos para clientes e pessoas vendedoras.
O fluxo da pessoa administradora deve possibilitar o cadastro de clientes e pessoas vendedoras, tal como a remoção dos mesmos.
A cobertura de testes deve garantir que, tanto no front-end quanto no back-end, os sistemas foram testados e possuem componentes e/ou funções estáveis e à prova de erros.
- Email: vagner_cardoso_s@outlook.com
- GitHub: kadraknb
- LinkedIn: vagner-cardos-santos