/DP_API_TaskManager

API em .NET 6 para gerenciamento de tarefas

Primary LanguageC#

Gerenciador de tarefas

Desafio de projeto

Módulo de API e Entity Framework, da trilha .NET da DIO. www.dio.me

Contexto

Você precisa construir um sistema gerenciador de tarefas, onde você poderá cadastrar uma lista de tarefas que permitirá organizar melhor a sua rotina.

Essa lista de tarefas precisa ter um CRUD, ou seja, deverá permitir a você obter os registros, criar, salvar e deletar esses registros.

A sua aplicação deverá ser do tipo Web API ou MVC, fique a vontade para implementar a solução que achar mais adequado.

A sua classe principal, a classe de tarefa, deve ser a seguinte:

Diagrama da classe Tarefa

Não se esqueça de gerar a sua migration para atualização no banco de dados.

Métodos esperados

É esperado que você crie o seus métodos conforme a seguir:

Swagger

Métodos Swagger

Endpoints

Verbo Endpoint Parâmetro Body
GET /Tarefa/{id} id N/A
PUT /Tarefa/{id} id Schema Tarefa
DELETE /Tarefa/{id} id N/A
GET /Tarefa/ObterTodos N/A N/A
GET /Tarefa/ObterPorTitulo titulo N/A
GET /Tarefa/ObterPorData data N/A
GET /Tarefa/ObterPorStatus status N/A
POST /Tarefa N/A Schema Tarefa

Esse é o schema (model) de Tarefa, utilizado para passar para os métodos que exigirem

{
  "id": 0,
  "titulo": "string",
  "descricao": "string",
  "data": "2022-06-08T01:31:07.056Z",
  "status": "Pendente"
}

Adicionais

Além do proposto no projeto, busquei incluir:

  • A classe Service que lida com a lógica de negócio.
  • A classe Repository para gerenciar os dados no banco de dados.
  • Testes unitários para as classes Service e Controller.

Frameworks e bibliotecas

  • ASP.NET 6
  • Entity Framework Core 6
  • Provedor do SQLServer para o EF Core
  • Swagger
  • XUnit
  • Moq