In-Tregue Delivery


Descrição

E-commerce para bebidas alcoólicas.

Projeto fullstack desenvolvido em React e Node.js que apresenta funcionalidades para três tipos de usuário: administrador, vendedor e cliente.

Aplicação desenvolvida como forma de critério avaliativo da escola de tecnologia Trybe.

Stacks de Desenvolvimento


A aplicação em nuvem

Acesse a aplicação alocada no Heroku por aqui .


Rodando a aplicação localmente

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js e MySQL.

Além disto é bom ter um editor para trabalhar com o código como VSCode.

Rodando o servidor Back-End

# Clone este repositório com a chave SSH ou HTTP a depender de como seu git está configurado.

# Acesse a pasta do projeto no terminal/cmd
$ cd delivery_app_backend

# Vá para a back-end
$ cd delivery_app_backend

# Instale as dependências
$ npm install

## Crie um arquivo .env

- NODE_ENV=
- MYSQL_HOST=localhost
- MYSQL_PORT=3306
- MYSQL_USER=(seu usuário mysql)
- MYSQL_PASSWORD=(sua senha mysql)
- MYSQL_DB_NAME=delivery-app
- EVAL_ALWAYS_RESTORE_DEV_DB=true
	
# Execute a aplicação
$ npm run start

# O servidor inciará na porta:3001 - acesse <http://localhost:3001>

Rodando o Front-End

# Clone este repositório com a chave SSH ou HTTP a depender de como seu git está configurado.

# Acesse a pasta do projeto no terminal/cmd
$ cd delivery_app_frontend

# Vá para a front-end
$ cd delivery_app_frontend

# Instale as dependências
$ npm install

## Crie um arquivo .env

- REACT_APP_NODE_ENV=dev
- REACT_APP_API=https://in-tregasbackend.herokuapp.com/
- REACT_APP_LOCALHOST=http://localhost:3001/
- SKIP_PREFLIGHT_CHECK=true	
	
# Execute a aplicação em modo de desenvolvimento
$ npm start

# O servidor inciará na porta:3000 - acesse <http://localhost:3000>

Funcionalidades da aplicação

V 1.36

Fluxo Comum

Tela de login (/login):

  • Login.

Tela de registro (/register):

  • Cadastro de usuário.

Barra de navegação:

  • Guias.
  • Alteração de tema visual.
  • Logout.

Fluxo do Administrador

Tela de Gerenciamento de Usuários (/admin/manage):

  • Cadastro de novos usuários.
  • Deleção de usuário.

Fluxo do Vendedor

Tela de Pedidos (/seller/orders):

  • Exibe todos os pedidos do vendedor.
  • Acesso aos detalhes do pedido ao clicar no card.
  • Atualização status do pedido em tempo real.

Tela de Detalhes/Controle do Pedido (/seller/orders/:id):

  • Exibe os detalhes do pedido.
  • Alteração de status do pedido.

Fluxo do Cliente

Tela de Produtos (/customer/orders):

  • Exibe todos os produtos.
  • Exibe/oculta o valor total da compra no carrinho ao inserir/excluir produtos.
  • Altera o valor do carrinho ao alterar quantidade de um produto.
  • Acesso à finalização da compra ao clicar no carrinho.

Tela de Checkout

  • Exibe detalhes do pedido.
  • Remoção de produto do pedido.
  • Inserção de informações para a entrega.

Tela de Pedidos (/customer/orders):

  • Exibe todos os pedidos do cliente.
  • Acessa os detalhes do pedido ao clicar no card.
  • Atualização status do pedido em tempo real.

Tela de Detalhes do Pedido (/customer/orders/:id):

  • Exibe os detalhes do pedido.
  • Alteração de status do pedido.

Desenvolvido por:

Gustavo Mourão - https://github.com/Gustavo-Mourao
Henrique Alarcon - https://github.com/Henriquealarcon
Igor Fernandes - https://github.com/srsifer
Johann Munzlinger - https://github.com/jmlinger
José Luis Demeneghi - https://github.com/Joseluisdemeneghi

Status

🚧 Implementando novas funcionalidades 🚧