Um aplicativo de delivery para uma distribuidora de bebidas. Uma aplicação com Front-end e Back-end integrados com foco na agilidade e escalabilidade do negócio. Este projeto foi desenvolvido em grupo, utilizando metodologias ágeis como Kanban.
- Front-End: o front-end foi construído utilizando
React.js
e como gerenciador de estado utilizamos oRedux
. Foram utilizados componentes funcionais e após escolher as ferramentas a serem utilizadas criamos um fluxo lógico de desenvolvimento dos componentes e páginas.
Para a estilização foi utilizadoCSS
puro.
Foram desenvolvidos tambémTestes Unitários
automatizados utilizando as bibliotecasReact Testing Library
eJest
.
- Back-End: o back-end foi construído utilizando modelagem de dados através do
ORM Sequelize
, banco de dadosMySQL
e com a arquitetura de softwareMSC (Model-Service-Controller)
. O desenvolvimento respeitou regras de negócio providas no projeto.
UtilizamosExpress.js
para criar e estruturar umaAPI RESTful
.
Foram criadosTestes de Integração
cobrindo todo o projeto utilizandoMocha
,Chai
eSinon
.
Front-End | Back-End |
---|---|
React.js | Node.js |
Redux | Express |
React Hooks | MySql |
RTL | Sequelize |
Jest | Mocha |
CSS | Chai |
--- | Sinon |
O cliente realiza o login, escolhe os produtos disponíveis, faz o pedido via "carrinho de compras" e visualiza o status do pedido e pode marcar como "Recebido" quando a compra é entregue.
O vendedor recebe o pedido com as quantidades e itens escolhidos, seleciona a opcão "Preparando" enquanto prepara a entrega, marca "Em trânsito" ao enviar e acompanha o retorno do cliente ao receber a compra.
O Administrador é capaz de incluir/excluir usuários.
A aplicação já contém alguns usuários criados:
Usuário | Senha | |
---|---|---|
Delivery App Admin | adm@deliveryapp.com |
--adm2@21!!-- |
Fulana Pereira | fulana@deliveryapp.com |
fulana@123 |
Cliente Zé Birita | zebirita@email.com |
$#zebirita#$ |
node
na versão 16
instalado em sua máquina!
- Clone o projeto para sua máquina local;
cd
no diretório do projeto;- Rode
npm run dev:prestart
: A partir da raiz, esse comando faz o processo de instalação de dependências (npm i) nos dois projetos (./front-end e ./back-end) e roda o Sequelize no ./back-end (lembrar de configurar o .env no mesmo); - Rode
npm run dev
: A partir da raiz, esse comando limpa as portas 3000 e 3001 e sobe a aplicação com pm2 em modo fork (uma instância pra cada aplicação). Nesse modo, as atualizações são assistidas (modo watch); - Rode
npm run stop
: A partir da raiz, esse comando para e deleta as aplicações rodando no pm2;
Opcional:
- Rode
npm run test:coverage
dentro de (./front-end ou ./back-end) para visualizar a cobertura dos testes da aplicação na qual estiver dentro.
-
Maria Isabella Miranda da Silva
Linkedin: @Maria Isabella
Email: ma_isabella.miranda@hotmail.com -
Gabriel Dias
GitHub: biewwl -
Pedro Reis
GitHub: pedronr03 -
Thiago Mamede
GitHub: tmamedeTrybe
Me dê uma ⭐️ se você gostou deste projeto!