Pular para o conteúdo

Lista de Tarefas em C#

CRUD completo de tarefas em C# puro (.NET 8, sem framework web), arquitetura em camadas, exceções de domínio e 16 testes automatizados cobrindo a lógica real.

2026-09-12
C#.NETxUnit

Visão geral

Aplicação de console para gerenciar tarefas: criar, listar, buscar por texto/status/prioridade, atualizar (edição parcial, campo em branco mantém o valor atual), concluir/reabrir e remover, com confirmação. Sem banco de dados: os dados persistem em JSON, gravado a cada alteração.

Arquitetura

Console (UI) → Service (regra de negócio) → Repository (persistência) → Modelo. Cada camada depende só de abstração (ITarefaRepository, ITarefaService), nunca de implementação concreta, injetadas via Microsoft.Extensions.DependencyInjection, o mesmo padrão de uma aplicação ASP.NET Core. Falha de regra de negócio vira exceção de domínio (TarefaInvalidaException, TarefaNaoEncontradaException) em vez de código de retorno mágico.

Testes

16 testes (xUnit), rodados e confirmados antes de qualquer mudança neste projeto: validação de título/descrição, busca com filtro combinado, exceção ao buscar/atualizar/remover ID inexistente, e persistência real da camada de repositório. GitHub Actions builda e roda a suíte a cada push.

Stack

C# 12, .NET 8, System.Text.Json, xUnit, GitHub Actions.