Projeto final do Módulo de Back-End.
Criar e integrar tanto o back-end quanto o front-end, criando uma plataforma de delivery de cerveja para uma distribuidora de bebidas.
A distribuidora de cervejas da dona Tereza está se informatizando! rocket 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.
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 aplicação está dividida em 4 fluxos principais, uma validação de status entre cliente e pessoa vendedora e cobertura de testes.
-
Fluxo Comum que compreende:
- (1) Tela de Login;
- (2) Tela de Registro.
-
Fluxo do Cliente que compreende:
- (3) Tela de Produtos;
- (4) Tela de Checkout;
- (5) Tela de Pedidos;
- (6) Tela de Detalhes do Pedido.
-
Fluxo da Pessoa Vendedora que compreende:
- (7) Tela de Pedidos;
- (8) Tela de Detalhes/Controle do Pedido.
-
Validação do Status do Pedido que compreende:
- (9) Teste de status.
-
Fluxo da Pessoa Administradora que compreende:
- (10) Tela de gerenciamento de usuários.
-
Testes da aplicação que compreende:
- (11) Testes de cobertura.
- 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;
- Integrar Front-End e Back-End;
- Construir o banco de dados MySQL, utilizando o ORM Sequelize, bem como associar as tabelas quando necessário;
- Construir as páginas e componentes no Front-End;
- Gerar o token para autenticação dos usuários;
- O Back-End deverá implementar as regras de negócio para popular adequadamente a tebela disponível no Front-End que será exibida para a pessoa usuária do sistema.
Hard Skills:
- A criação de components e pages usando React e Context API;
- A estilização do front-end com CSS;
- A modelagem do banco de dados com MySQL através do Sequelize;
- A criação e associação de tabelas;
- A construção de uma API REST;
- A construção de um CRUD (Create, Read, Update, Delete), utilizando ORM Sequelize;
- Uso de Metodologias Ágeis: Scrum e Kanban (quadro no Trello);
Soft Skills:
- Autoliderança;
- Colaboração;
- Comunicação;
- Trello (Quadro com as tasks)
- Slack (Assíncrona)
- Zoom (Síncrona)
- Gerenciamento do tempo;
- Liderança;
- Resolução de conflitos;
- Resolução de problemas.
No Front-End:
- HTML
- CSS
- JavaScript
- React
- Context API
No Back-End:
- JavaScript
- Node.js
- Express
- Sequelize
- MySQL
Desenvolvido em grupo por:
- Fabiana Martins
- Jaqueline Silva
- Leandro Silva
- Matheus Mena
- Nicolas Dimitri
Finalizado.
80%