Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luifean/todo-list-api
https://github.com/luifean/todo-list-api
authentication authorization clean-architecture clean-code jwt nestjs rest swagger tdd todolist
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/luifean/todo-list-api
- Owner: LuiFeAn
- Created: 2025-01-07T01:20:03.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2025-01-22T12:47:45.000Z (19 days ago)
- Last Synced: 2025-01-22T13:43:02.387Z (19 days ago)
- Topics: authentication, authorization, clean-architecture, clean-code, jwt, nestjs, rest, swagger, tdd, todolist
- Language: TypeScript
- Homepage:
- Size: 195 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NestJS App - Guia de Uso e Configuração
Apesar de não ser necessário para o contexto de um todo-list simples, desenvolvi este projeto utilizando a arquitetura Hexagonal/Clean Architecture, simulando uma API que poderia ser mais escalável. Assim, priorizando facilidade de manutenção e independência de detalhes técnicos como frameworks e banco de dados
## Documentação dos Endpoints (Swagger)
Acesse `http://localhost:{API_PORT}/swagger`
## Pré-requisitos
Certifique-se de ter os seguintes itens instalados:
- [Node.js](https://nodejs.org) (recomendado: última versão LTS)
- [pnpm](https://pnpm.io/installation) (para gerenciamento de pacotes)
- [Docker](https://www.docker.com) e [Docker Compose](https://docs.docker.com/compose/) (para executar com containers, se necessário)---
## Rodando o Projeto
### Modo Desenvolvimento
Para iniciar o servidor no modo de desenvolvimento, utilize o comando:
```bash
pnpm start:dev
```O servidor estará disponível na porta configurada pela variável `API_PORT` (por padrão, 3000).
---
### Modo Build
Para executar a aplicação em modo de produção:
1. Compile a aplicação:
```bash
pnpm build
```2. Inicie o servidor:
```bash
pnpm start:prod
```O servidor estará disponível na porta configurada pela variável `API_PORT` (por padrão, 3000).
---
### Executando Testes Unitários
Os testes unitários podem ser executados com o comando:
```bash
pnpm test:unit
```---
### Modo Docker Compose
Caso prefira utilizar Docker Compose:
1. Suba os containers:
```bash
docker compose up -d
```2. Acesse a aplicação em `http://localhost:{API_PORT}`.
Para parar os containers:
```bash
docker compose down
```---
## Configuração de Ambiente
Crie um arquivo `.env` na raiz do projeto com as seguintes variáveis:
```
DB_NAME=example
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASS=1234API_PORT=3000
JWT_SECRET_KEY=12345
```Para referência, consulte o arquivo `.env.example`.