Este é um API construída com Node.js, Typescript, Express, Prisma, Swagger e JWT para gerenciamento de tarefas.
- Atributos: ID, email, name, password, weight.
- Atributos: ID, title, description, priority, status, conclusion, category_id, user_id.
- Atributos: ID, name, color
- Configure seu ambiente criando um arquivo
.env
(você pode copiar o conteúdo de.env.example
e colá-lo no novo arquivo). - Certifique-se de que o Docker está em execução e execute
npm run setup
no terminal. - Para iniciar a aplicação, execute
npm run start
.
-
POST /signin
- Rota de Login
- Retorna um token de acesso (access_token) que deve ser passado no cabeçalho da requisição:
Authorization: Bearer ${access_token}
- Se estiver utilizando o Swagger, você pode colar o
access_token
no campo Authorize, localizado no canto superior direito da interface.
-
POST /signup
- Rota de Cadastro
- Retorna o usuário cadastrado, juntamente com o access_token.
-
GET /users
- Retorna todos os usuários.
-
GET /users/id
- Retorna usuário por ID.
- Possui QueryParams opcionais:
- TASK_QUANTITY: Quantidade de tarefas do usuário.
- OLDEST_TASK: Tarefa mais antiga de um usuário (CreatedAt).
- MOST_RECENT_TASK: Tarefa mais recente de um usuário (CreatedAt).
-
PATCH /users/id
- Atualiza um usuário por ID.
-
DELETE /users/id
- Deleta um usuário por ID.
-
POST /tasks
- Cria uma nova tarefa.
-
GET /tasks
- Retorna todas as tarefas.
- Possui QueryParams opcionais:
- status: Retorna tarefas por status (PENDING, DOING, DONE).
- user_id: Retorna tarefas com user_id.
- category_id: Retorna tarefas com category_id.
- startConclusionDate: Retorna tarefas com período de conclusão entre startConclusionDate e endConclusionDate.
- endConclusionDate: Retorna tarefas com período de conclusão entre startConclusionDate e endConclusionDate.
-
GET /tasks/longest-description
- Retorna a tarefa com a maior descrição.
-
GET /tasks/average-conclusion
- Retorna a média de conclusão das tarefas.
-
GET /tasks/id
- Retorna uma tarefa por ID.
-
PATCH /tasks/id
- Atualiza uma tarefa por ID.
-
DELETE /tasks/id
- Deleta uma tarefa por ID.
-
POST /category
- Cria uma nova categoria.
-
GET /category
- Retorna todas as categorias.
- Possui QueryParams opcionais:
- tasks: Retorna categorias com suas tarefas associadas.
-
GET /category/id
- Retorna uma categoria por ID.
-
PATCH /category/id
- Atualiza uma categoria por ID.
-
DELETE /category/id
- Deleta uma categoria por ID.