Esta é uma API simples de gerenciamento de tarefas desenvolvida com Node.js, Express e TypeScript. A API permite criar, visualizar, atualizar e deletar tarefas, seguindo os princípios de boas práticas em desenvolvimento de software.
Este projeto foi criado como parte do curso de Node.js da escola de programação OneBitCode.
- Listar todas as tarefas:
GET /tasks
- Criar uma nova tarefa:
POST /tasks
- Visualizar uma tarefa específica:
GET /tasks/:id
- Atualizar uma tarefa existente:
PUT /tasks/:id
- Deletar uma tarefa:
DELETE /tasks/:id
- Node.js
- Express
- TypeScript
- Zod: Validação de esquema para o corpo das requisições
- Clone o repositório:
git clone https://github.com/seu-usuario/nome-do-repositorio.git
- Acesse o diretório do projeto:
cd nome-do-repositorio
- Instale as dependências:
npm install
- Inicie o servidor:
npm run start
- Acesse a API via http://localhost:3000.
GET /tasks
Retorno esperado:
[
{
"id": 1,
"title": "Aprender Node.js",
"description": "Completar o curso de Node.js na OneBitCode",
"status": "todo",
"priority": "high",
"createdAt": "2024-08-09T12:00:00.000Z",
"updatedAt": "2024-08-09T12:00:00.000Z"
}
]
POST /tasks
Corpo da requisição:
{
"title": "Aprender TypeScript",
"description": "Completar a introdução ao TypeScript",
"status": "todo",
"priority": "medium"
}
Retorno esperado:
{
"id": 2,
"title": "Aprender TypeScript",
"description": "Completar a introdução ao TypeScript",
"status": "todo",
"priority": "medium",
"createdAt": "2024-08-09T12:10:00.000Z",
"updatedAt": "2024-08-09T12:10:00.000Z"
}
.
├── src
│ ├── controllers
│ │ └── TaskController.ts
│ ├── models
│ │ └── Task.ts
│ ├── errors
│ │ └── HttpError.ts
│ └── server.ts
├── package.json
└── tsconfig.json
Se você quiser contribuir com este projeto, sinta-se à vontade para abrir um pull request ou relatar um problema. Todas as contribuições são bem-vindas!
Este projeto está licenciado sob a MIT License.