https://github.com/aristiklever-r-sousa/api-tasks-node-beginner
API Node to Tasks Management
https://github.com/aristiklever-r-sousa/api-tasks-node-beginner
api csv-parser inmemory-db nodecrypto nodestream uuidv4
Last synced: over 1 year ago
JSON representation
API Node to Tasks Management
- Host: GitHub
- URL: https://github.com/aristiklever-r-sousa/api-tasks-node-beginner
- Owner: Aristiklever-R-Sousa
- Created: 2024-05-30T23:00:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-30T23:15:14.000Z (about 2 years ago)
- Last Synced: 2025-01-23T12:31:08.474Z (over 1 year ago)
- Topics: api, csv-parser, inmemory-db, nodecrypto, nodestream, uuidv4
- Language: JavaScript
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tasks Manager API
### Rotas e regras de negócio
Estrutura (propriedades) que uma task deve ter:
- `id` - Identificador único de cada task
- `title` - Título da task
- `description` - Descrição detalhada da task
- `completed_at` - Data de quando a task foi concluída. O valor inicial deve ser `null`
- `created_at` - Data de quando a task foi criada.
- `updated_at` - Deve ser sempre alterado para a data de quando a task foi atualizada.
Rotas:
- `POST - /tasks`
[x] Deve ser possível criar uma task no banco de dados, enviando os campos `title` e `description` por meio do `body` da requisição.
[x] Ao criar uma task, os campos: `id`, `created_at`, `updated_at` e `completed_at` devem ser preenchidos automaticamente, conforme a orientação das propriedades acima.
- `GET - /tasks`
[x] Deve ser possível listar todas as tasks salvas no banco de dados.
[] Também deve ser possível realizar uma busca, filtrando as tasks pelo `title` e `description`
- `PUT - /tasks/:id`
[x] Deve ser possível atualizar uma task pelo `id`.
[x] No `body` da requisição, deve receber somente o `title` e/ou `description` para serem atualizados.
[x] Se for enviado somente o `title`, significa que o `description` não pode ser atualizado e vice-versa.
[x] Antes de realizar a atualização, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.
- `DELETE - /tasks/:id`
[x] Deve ser possível remover uma task pelo `id`.
[x] Antes de realizar a remoção, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.
- `PATCH - /tasks/:id/complete`
[x] Deve ser possível marcar a task como completa ou não. Isso significa que se a task estiver concluída, deve voltar ao seu estado “normal”.
[x] Antes da alteração, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.