Explorer | Final Challenge - Food Explorer Backend
Projeto | Tecnologias | Pré requisitos | Como Executar | Licença | Autor
Food Explorer é um cardápio digital interativo, construído para um restaurante fictício.
Esta aplicação possui duas personas, o "admin" que pode gerenciar todos os pratos e o "cliente" que pode listar os pratos cadastrados e visualizar detalhes de algum prato.
Aproveitei a oportunidade para aplicar alguns conceitos de Clean Architecture, Domain-Driven Design (DDD) e alguns outros patterns como Repository e Factory patterns.
Veja abaixo o diagrama do banco de dados:
Esse projeto foi desenvolvido com as seguintes tecnologias:
Variáveis de ambiente
Important
Crie uma cópia do arquivo .env.example
para .env
e preencha todas as variáveis de ambiente.
Banco de dados (Docker)
Algumas queries do projeto precisam ser executadas em um banco PostgreSQL. Deixei um arquivo do docker configurado para executar o banco localmente se necessário.
# Execute o banco de dados com docker
docker compose up -d
Cliente HTTP (Opcional)
Caso queira testar a API sem o front-end instale a extensão REST Client no VS Code. Acesse o arquivo cliente.http para testar e verificar todas as rotas disponíveis.
# Clone este repositório
$ git clone https://github.com/jordane-chaves/food-explorer-backend
# Acesse o diretório do projeto no terminal/cmd
$ cd food-explorer-backend
# Instale as dependências
$ npm install
# Crie as tabelas no banco de dados
$ npm run knex:migrate
# Execute a aplicação em modo de desenvolvimento
$ npm run start:dev
# O servidor inciará na porta:3333 - acesse <http://localhost:3333>
# Documentação da API - acesse <http://localhost:3333/docs>
Esse projeto está sob a licença MIT - veja o arquivo LICENSE para mais detalhes.
Feito com 💜 por Jordane Chaves