Trata-se de uma aplicação que tem como objetivo provêr agilidade de atendimento via delivery a revendedores de bebidas. Foi desenvolvida como projeto de aprendizado em grupo no curso de desenvolvimento Web Trybe.
A aplicação se encarrega de autenticar e autorizar os usuários, assim como organizar os pedidos e entregas:
- O cliente faz o pedido utilizando um "carrinho de compras"
- O cliente possui as informações detalhadas e se o pedido está sendo preparado ou se já saiu pra entrega
- O vendedor aprova, prepara e envia esse pedido
- O vendedor possui as informações detalhadas sobre o pedido
- Quando o produto é recebido pelo cliente, o mesmo marca o pedido como "recebido"
- O administrador do sistema possui a capacidade de atribuir o tipo de usuário enquanto cria um novo, assim como remover usuário já cadastrado
Ferraments utilizadas
-
Front-end:
-
Back-end:
-
Linters:
Pré-visualização
Instalação e uso
- Clone o repositório e entre na pasta do repositório que você acabou de clonar
git clone git@github.com:pennaor/delivery-app.git
cd ./delivery-app
- Instale as dependências
npm install
-
Crie um arquivo .env no diretório do back-end ou utilize as configurações default
-
Instale as depedências do front-end/back-end e rode o
Sequelize
no./back-end
com o script:
npm run dev:prestart
- Rode a aplicação nas portas
3000
e3001
:
npm start
-
Acesse
http://localhost:3000
-
Utilize as credenciais da pessoa administradora para fazer login:
E-mail: adm@deliveryapp.com
Senha: --adm2@21!!--
Scripts principais
Os scripts abaixo são definidos 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 portas3000
e3001
, subindo a aplicação compm2
em modofork
(uma instância para cada aplicação). Nesse modo, as alterações não são assistidas;- uso (na raiz do projeto):
npm start
- uso (na raiz do projeto):
-
stop
: Para e deleta as aplicações rodando nopm2
;- uso (na raiz do projeto):
npm stop
- uso (na raiz do projeto):
-
dev
: Limpa as portas3000
e3001
e sobe a aplicação compm2
em modofork
(uma instância pra cada aplicação). Nesse modo, as atualizações são assistidas (modowatch
);- uso (na raiz do projeto):
npm run dev
- uso (na raiz do projeto):
-
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 oSequelize
no./back-end
(lembrar de configurar o.env
no mesmo);- uso (na raiz do projeto):
npm run dev:prestart
- uso (na raiz do projeto):
-
db:reset
: Roda os scripts doSequelize
restaurando o banco de dados de desenvolvimento (final-dev
). Utilize esse script caso ocorra algum problema no seu banco local;- uso (na raiz do projeto):
npm run db:reset
- uso (na raiz do projeto):
-
db:reset:debug
: Roda os scripts doSequelize
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);- uso (na raiz do projeto):
npm run db:reset:debug
- uso (na raiz do projeto):
Testes UI Front-end
Com a aplicação rodando, mude para o diretório do front-end e execute o script:
cd ./front-end
npm test
Para verificar cobertura dos testes, execute o script:
npm run test:coverage