BackEnd de um cardápio digital para um restaurante fictício
Projeto | Estrutura do banco de dados | Tecnologias | Utilização
O projeto Food Exporer deste repositório refere-se ao desafio final do curso Explorer da Rocketseat, compondo um cardápio digital de um restaurante fictício.
Este repositório está composto apenas pelo BackEnd do projeto, responsável pela lógica da aplicação e armazenamento dos dados. Fique a vontade para visualizar o projeto de FrontEnd da aplicação, responsável pela interface do usuário, clicando aqui.
O Banco de dados foi estruturado com as seguintes tabelas:
- CategoriaDoProduto (responsável por persistir as categorias dos produtos)
- Favorito (responsável por persistir os favoritos dos usuários)
- Imagem (responsável por persistir dados das imagens - exceto arquivo físico)
- PerfilDeUsuario (responsável por persistir os perfis de usuário)
- Produto (responsável por persistir os produtos)
- ProdutoInsumo (responsável por persistir os ingredientes dos produtos)
- Usuario (responsável por persistir os usuários)
Obs.: As tabelas que possuem operações de escrita, foram implementadas com o conceito de exclusão lógica, persistindo as colunas Excluido, DataDeExclusao, e UsuarioDeExclusaoId
Tecnologias utilizadas no desenvolvimento:
- Bcrypt.js
- CORS
- Date and Time
- Dotenv
- Express.js
- express-async-errors
- JSON Web Token
- Knex.js
- Node.js
- Multer
- PM2
- SQLite
- SQLite3
- UUID
O back-end do projeto está hospedado no endereço https://foodexplorer-3skd.onrender.com. A aplicação Food Explorer está disponível para uso aqui.
É possível também executar em sua máquina local. Para isto, é necessário que você tenha instalado o Node.js
e o npm
antes de prosseguir com as etapas a seguir:
- Clone o projeto:
$ git clone https://github.com/Cesar-Rieg/FoodExplorer-Backend
- Acesse a pasta do projeto:
$ cd FoodExplorer-Backend
- Instale as dependências:
$ npm install
- Execute as migrações e inicie o servidor:
$ npm run dev
AUTH_SECRET
e PORT
com suas respectivas informações.
-
Para gerar o valor para o campo AUTH_SECRET, você pode utilizar algum gerador MD5 ou outro gerador de criptografia aleatória.
-
No campo PORT deve ser informado o número da porta que irá executar o servidor da aplicação.
Desenvolvido por César Rieg 🚀