Este projeto consiste em uma API backend para um sistema de gerenciamento de entregas. Ele foi desenvolvido para facilitar a administração de pedidos, entregas, e gerenciar a interação com entregadores, clientes e restaurantes.
- Gerenciamento de pedidos
- Controle de entregas
- Autenticação de usuários (clientes e restaurantes)
- Registro de status de pedidos
- Integração com cardápios de restaurantes
- Node.js: Ambiente de execução para JavaScript
- Express: Framework web para Node.js
- MySQL: Banco de dados relacional, via
mysql2 - Sequelize: ORM para interação com o banco de dados MySQL
- JWT: Para autenticação e gerenciamento de sessões
- bcryptjs: Para criptografia de senhas
- Swagger: Documentação interativa da API
-
controller/: Contém os controladores que gerenciam a lógica de negócios.cliente.Controller.js: Controla o registro, autenticação e dados do cliente.pedidoController.js: Gerencia pedidos, incluindo criação e atualização.restauranteController.js: Controla o cadastro e autenticação de restaurantes.
-
models/: Modelos de dados utilizados no projeto.cliente.Model.js: Define o modelo do cliente no banco de dados.pedido.Model.js: Define o modelo de pedidos no banco de dados.restaurante.Model.js: Define o modelo de restaurante no banco de dados.
-
routes/: Define as rotas da API, conectando endpoints aos controladores.
-
Clone o repositório:
git clone https://github.com/seu-usuario/delivery-backend.git
-
Acesse o diretório do projeto:
cd delivery-backend- Instale as dependências:
npm install- Crie um arquivo .env baseado no arquivo .env.example e preencha as variáveis de ambiente necessárias (como a string de conexão com o banco de dados):
cp .env.example .envExemplos de variáveis de ambiente:
DB = 'nome do banco'
USER = 'usuario'
PASS = 'senha'
DIALECT = 'banco'
SECRET = 'palavra_secreta'
JWT_EXPIRES_IN = '2h'- Inicie o servidor:
npm start- A API estará disponível em http://localhost:3000