Nessa aplicação, o grupo foi responsável por criar e integrar tanto o back-end quanto o front-end, criando uma plataforma de delivery de cerveja. 🍻
O projeto não é só codar, mas também é trabalhar em equipe, aprender e se divertir muito!
Distribuidora de Cervejas - veja mais
A distribuidora de cervejas da dona Tereza está se informatizando! 🚀 Seu negócio, antes focado em um local específico da cidade, passou a receber uma quantidade massiva de encomendas de outros pontos, expandindo sua atuação via delivery. Isso tudo graças ao excelente preço das bebidas e atendimento da equipe de vendas.
Agora a distribuidora possui alguns pontos de venda na cidade para agilizar no atendimento dessas áreas. Cada ponto de venda, por sua vez, possui uma pessoa vendedora responsável.
Como seu antigo sistema, que era um conjunto de planilhas, já não atende a necessidade do negócio por gerar muita manutenção, dona Tereza procurou a sua equipe de pessoas desenvolvedoras com uma ideia de aplicativo que pudesse agilizar a vida de sua equipe e das pessoas que compram seus produtos. O aplicativo precisa:
- Ter acesso via login: tanto clientes como pessoas vendedoras, assim como a própria dona Tereza, que administra o sistema, devem ter acesso ao aplicativo via login, porém para funções diferentes: (1) A pessoa cliente, que compra da lista de produtos; (2) A pessoa vendedora, que aprova, prepara e entrega; (3) A pessoa administradora, que gerencia quem usa o aplicativo;
- Fazer a comunicação entre clientes e pessoas vendedoras: a pessoa cliente faz o pedido via "carrinho de compras" e a pessoa vendedora aprova, prepara e envia esse pedido. Quando o produto é recebido por quem comprou, essa pessoa marca o pedido como "recebido". Ambos devem possuir detalhes sobre seus pedidos;
- Se a pessoa cliente faz o pedido, o mesmo deve aparecer para a pessoa vendedora em seu dash de pedidos após a atualização da página. A pessoa cliente, por sua vez, deve ter as informações sobre seu pedido quando sua página for atualizada, ou seja, ter informações se o pedido está sendo preparado ou se já saiu pra entrega;
A ideia da sua equipe já pressupõe alguma escalabilidade, dado que foram estabelecidas algumas entidades genéricas no banco de dados e componentização no front-end, para que, caso o sistema cresça, não seja muito difícil mudar e ampliar essa estrutura.
A proposta encantou, mas dona Tereza quer ver o negócio em ação! Ela está disposta a pagar por um MVP do projeto e vocês fecharam o negócio com um prazo combinado para entrega.
Agora é mãos à obra! Vamos começar?
-
⚠️ Versão 16 donode
- para evitar conflitos de versão caso não tenha essa versão instalada você pode usar onvm
para fazer o gerenciamento de versões. -
Banco de dados - MySQL
Rodar Localmente
Certifique-se de ter o MySQL instalado e rodando.
⚠️ Inicie o projeto pela raiz, utilizando o comandonpm i
.
Na pasta back-end
npm install
(instala as dependências)npm start
(inicia o servidor back-end)
Na pasta front-end
npm install
npm start
⚠️ Docker
&&Docker Compose
. Precisa das portas: 3000 / 3001 e 3306 livres.
Rodando através do Docker
Na raiz do projeto:
npm run compose:up
(Para iniciar o projeto. Front-end estará emlocalhost:3000
)npm compose:down
(Para parar o projeto)
-
Fluxo Comum
- Tela de Login
- Para acompanhar as rotas de adm e vendedor pode usar os seguintes emails/senha:
- admin:
[email protected]
senha:--adm2@21!!--
- vendedor:
[email protected]
senha:fulana@123
- admin:
- Para acompanhar rota de cliente é só fazer seu registro
- Para acompanhar as rotas de adm e vendedor pode usar os seguintes emails/senha:
- Tela de Registro
- Tela de Login
-
Fluxo do Cliente
- Tela de Produtos
- Tela de Checkout
- Tela de Pedidos
- Tela de Detalhes do pedido
-
Fluxo da Pessoa Vendedora
- Tela de Pedidos
- Tela de Detalhes/Controle do Pedido
-
Fluxo da Pessoa Administradora
- Tela de gerenciamento de usuários
Você também pode ver a lista de todos os colaboradores que participaram deste projeto.