Este repositório é uma API em Nest.js utilizando Clean Arch e DDD.
O Knight Challenge API é um desafio técnico.
- Nest.js
- MongoDB
- Mongoose
- Jest
- Docker
A estrutura do repositório é organizada da seguinte forma:
src/
/core # Deve conter todas as funcionalidades do sistema.
/knights
/__tests__ # Testes unitários
/application # Serviços e casos de uso.
/domain # Entidades, Enums, Exceptions e Interfaces
/infrastructure # Classes de persistência como repositório
/config # Arquivos de configurações
/common # Arquivos compartilhados para toda aplicação
Siga as instruções abaixo para instalar e configurar o projeto localmente.
- Node.js (versão 20.11 ou superior)
- Pnpm
-
Clone este repositório:
git clone https://github.com/immichjs/knight-challenge-api.git
-
Instale as dependências da API
Para a API (Nest.js):
cd api
pnpm install
- Execução do projeto:
// No diretório api, execute a API:
pnpm run start:dev
Acesse API em http://localhost:3001.
[GET] /knights?filter=heroes
[GET] /knights/:id
[POST] /knights
[PATCH] /knights/:id
[DELETE] /knights/:id
Antes de rodar o projeto, Siga os passos abaixo:
- No backend (api), crie um arquivo .env com as seguintes variáveis:
PORT=3001
MONGO_USERNAME=<seu-username-mongo>
MONGO_PASSWORD=<seu-password-mongo>
MONGO_URI=mongodb://localhost
MONGO_DATABASE=knights