Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kenmarcos/tasks-api-rs

API de gerenciamento de tarefas. Desafio do curso de Node.js da Rocketseat.
https://github.com/kenmarcos/tasks-api-rs

nodejs typescript

Last synced: about 1 month ago
JSON representation

API de gerenciamento de tarefas. Desafio do curso de Node.js da Rocketseat.

Awesome Lists containing this project

README

        



Tasks API



Sobre o Projeto
Endpoints
Tecnologias
Autor


## 🖥️ Sobre o Projeto

> Projeto desenvolvido como desafio referente ao módulo Fundamentos do Node.js do curso de Node.js da Rocketseat.

Esse projeto consiste em uma aplicação back-end de um sistema de gerenciamento de tarefas.

O Objetivo do desafio consistia em desenvolver uma API para realizar um CRUD de tarefas

As funcionalidades dessa aplicação são:

- [x] Criação de uma tarefa
- [x] Listagem de todas as tarefas
- [x] Atualização de uma tarefa pelo `id`
- [x] Remover uma tarefa pelo `id`
- [x] Marcar pelo `id` uma tarefa como completa
- [x] Importação de tarefas em massa por um arquivo CSV

## 💡 Endpoints

| Método | Endpoint | Responsabilidade | Regras de Negócio |
| ------ | ------------------------ | -------------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| POST | /tasks | Cria uma tarefa | Envio dos campos `title`e `description`. Campos `ìd`, `created_at`, `updated_at` e `completed_at` são preenchidos automaticamente |
| GET | /tasks | Lista tarefas | Lista todas as tarefas. Também realiza uma busca, filtrando as tarefas pelo `title` e `description` |
| UPDATE | /tasks/:id | Atualiza uma tarefa | Atualiza uma tarefa pelo `ìd`. O `body` da requisição, recebe somente o title e/ou description. Verifica se o `id` pertence a uma tarefa salva no banco de dados |
| PATCH | /tasks/:id/complete | Marca uma tarefa como concluída | Concluí uma tarefa pelo `ìd`. Verifica se o `id` pertence a uma tarefa salva no banco de dados |
| DELETE | /tasks/:id | Deleta uma tarefa | Remove uma tarefa pelo `ìd`. O `body` da requisição, recebe somente o title e/ou description. Verifica se o `id` pertence a uma tarefa salva no banco de dados |

## 🛠️ Tecnologias

Para o desenvolvimento desse projeto, as seguintes ferramentas foram utilizadas:

- **[Node.js](https://nodejs.org/)**
- **[TypeScript](https://www.typescriptlang.org/)**
- **[CSV Parse](https://csv.js.org/parse/)**

## 👨‍💻 Autor

author-profile-picture

Marcos Kenji Kuribayashi