Loading repository data…
Loading repository data…
davirazzar / repository
App de delivery(front-end e back-end) para uma distribuidora de bebidas.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
App de delivery(front-end e back-end) para uma distribuidora de bebidas. 🍻
Este projeto foi feito enquanto estudava na @betrybe.
Contexto:
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:
Front-end:
Desenvolvido usando: React, Context, CSS3, ES6, Styled Components
Back-end:
Desenvolvido usando: NodeJS, ExpressJS, Sequelize, MySQL, Typescript
:warning: Troque o .env.example por .env e o configure.
Backend (local via Docker)
docker-compose up -d.docker exec -it nome_do_container bash.Frontend (local via Docker)
docker-compose up -d.docker exec -it nome_do_container bash.npm run dev.São os scripts da raiz do projeto (./package.json) e não das aplicações individuais ./front-end/package.json e ./back-end/package.json:
start: Limpa as portas 3000 e 3001 e simula a inicialização no avaliador. Também prepara o campo rodando o Sequelize para restaurar o banco de dados de testes (final -test) e sobe a aplicação com pm2 em modo fork (uma instância para cada aplicação). Nesse modo, as alterações não são assistidas;
npm startstop: Para e deleta as aplicações rodando no pm2;
npm stopdev: 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);
npm run devdev: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);
npm run dev:prestartdb:reset: Roda os scripts do Sequelize restaurando o banco de dados de desenvolvimento (final -dev). Utilize esse script caso ocorra algum problema no seu banco local;
npm run db:resetdb:reset:debug: Roda os scripts do Sequelize restaurando o banco de dados de desenvolvimento (final -dev). Utilize esse script caso ocorra algum problema no seu banco local. Esse comando também é capaz de retornar informações detalhadas de erros (quando ocorrerem no processo);
npm run db:reset:debugtest <nomes-dos-arquivos>: Roda todos os testes (ou uma parte deles caso <nomes-dos-arquivos> seja definido) utilizando o banco de dados de testes (final );
-testnpm test, npm test 01login 02register ou ainda npm run test 01 02test:dev <nomes-dos-arquivos>: Roda todos os testes (ou uma parte deles caso <nomes-dos-arquivos> seja definido) utilizando o banco de dados de desenvolvimento (final -dev);
npm run test:dev, npm run test:dev 01login 02register ou ainda npm test:dev 01 02;test:dev:open <nomes-dos-arquivos>: Roda todos os testes (ou uma parte deles caso <nomes-dos-arquivos> seja definido) utilizando o banco de dados de desenvolvimento (final -dev), exemplo npm test:dev:open 01login 02register ou ainda npm test:dev:open 01 02. Esse teste deve abrir uma janela mostrando o comportamento das páginas;
npm run test:dev:open, npm run test:dev:open 01login 02register ou ainda npm test:dev:open 01 02;test:dev:report "<nomes-dos-arquivos>": Roda todos os testes (ou uma parte deles caso "<nomes-dos-arquivos>" seja definido) utilizando o banco de dados de desenvolvimento (final -dev). Esse teste devolve um output em texto com o resultado de todos os testes. Os logs são gerados em ./__tests__/reports.
npm run test:dev:report, npm run test:dev:report "01login 02register" ou ainda npm run test:dev:report "01 02";