Esta aplicação é uma API REST desenvolvida com NestJS para gerenciar o cadastro de Tarefas, incluindo a validação de contas, atualização de saldo, armazenamento de pagamentos no banco de dados e geração de relatórios de transações.
-
Clone o repositório:
git clone https://github.com/bodescorp/API-toDo_List.git cd API-toDo_List
-
Crie um arquivo
.env
na raiz do projeto e adicione as seguintes variáveis de ambiente:JWT_SECRET= JWT_EXPIRATION_TIME= DB_HOST= DB_PORT= DB_USERNAME= DB_PASSWORD= DB_NAME=
-
Construa e inicie os containers Docker:
docker-compose up --build
-
A API estará disponível em
http://localhost:3000
.
-
Clone o repositório:
git clone https://github.com/bodescorp/API-toDo_List.git cd API-toDo_List
-
Instale as dependências:
yarn install
-
Crie um arquivo
.env
na raiz do projeto e adicione as seguintes variáveis de ambiente:JWT_SECRET= JWT_EXPIRATION_TIME= DB_HOST= DB_PORT= DB_USERNAME= DB_PASSWORD= DB_NAME=
-
Configure a conexão com o banco de dados no arquivo
src/app.module.ts
se necessário. -
Inicie o Banco de Dados:
yarn migration:run
-
Inicie o servidor:
yarn start:dev
-
A API estará disponível em
http://localhost:3000
.
-
Para iniciar a aplicação com Docker Compose:
docker-compose up --build
-
Para parar os containers:
docker-compose down
POST /users
- Descrição: Criação de usuário e retorna o usuario criado.
- Body:
{ "username": "seu-email", "password": "sua-senha" }
- Resposta:
{ "id": "id", "username":"seu-email"}
POST /auth/login
- Descrição: Autentica um usuário e retorna um token JWT.
- Body:
{ "username": "seu-email", "password": "sua-senha" }
- Resposta:
{ "token": "seu-token", "expiresIn":3600}
-
POST /tasks
- Descrição: Cria uma nova tarefa com título, descrição e status (pendente ou concluída).
- Autenticação: Bearer token
- Body:
{ "title": "Título da tarefa", "description": Descrição da tarefa", "status": "Status da tarefa (pendente ou concluída)." }
-
GET /tasks
-
Descrição: Lista todas as tarefas com possibilidade de filtrar por status.
-
Autenticação: Bearer token
-
Parâmetros Query Opcionais:
title
: Filtra as tarefas pelo titulo.status
: Filtrar tarefas pelo status (pendente ou concluída).
-
Resposta:
[ {"title": "title", "description": "description", "description": "description"}, ... ]
-
GET /tasks/id
-
Descrição: Retorna um tarefa específica.
-
Autenticação: Bearer token
-
Resposta:
{"id": "id", "title": "title", "description": "description", "status": "status"}
-
-
PUT /tasks/id
- Descrição: Atualiza o título, descrição ou status de uma tarefa.
- Autenticação: Bearer token
- Body:
{"título": "título", "descrição": "descrição", "status": "status"}
-
DELETE /tasks/id
- Descrição: Exclui uma tarefa.
- Autenticação: Bearer token
- A documentação da API é gerada usando Swagger e está disponível em
/api
.
Acesse http://localhost:3000/api
para visualizar a documentação Swagger e testar os endpoints.
- Suporte para múltiplos inquilinos (multi-tenancy).
- Faça um fork do repositório.
- Crie uma nova branch com sua feature:
git checkout -b minha-feature
. - Commit suas mudanças:
git commit -m 'Adiciona minha feature'
. - Faça um push para a branch:
git push origin minha-feature
. - Abra um Pull Request.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.