Tasks: Lista de Implementação¶
Status: 42 de 42 tarefas implementadas ✅
Phase 1: Project Setup (4/4 concluído ✅)¶
- T001 Criar novo projeto ASP.NET Core MVC TodoListMvc
- T002 Configurar Bootstrap 5 CDN em Layout.cshtml
- T003 Criar estrutura de pastas (Models/, Views/Tasks/, Services/)
- T004 Configurar Program.cs com dependências
Status: ✅ COMPLETO
Phase 2: Models & Infrastructure (3/3 concluído ✅)¶
- T005 Criar Models/Tarefa.cs com validações
- Guid Id
- string Titulo (required, max 500)
- bool Concluida (default false)
- DateTime DataCriacao
- DateTime DataModificacao
-
List
Lembretes -
T006 Criar Models/Lembrete.cs
- Guid Id
- string Texto (required)
-
DateTime DataCriacao
-
T007 Criar Views/Shared/Layout.cshtml
- Bootstrap CSS via CDN
- Navbar com título
- @RenderBody()
- Responsivo
Status: ✅ COMPLETO
Phase 3: Repository & Business Logic (8/8 concluído ✅)¶
- T008 Criar Services/RepositorioTarefas.cs (Singleton)
- T009 Métodos Read: ObterTodas(), ObterPorId()
- T010 Métodos Create: Criar(titulo) com validação
- T011 Métodos Update: Atualizar(id, titulo)
- T012 Métodos Toggle: AlternarConclusao(id)
- T013 Métodos Delete: Remover(id)
- T014 Métodos Lembrete: AdicionarLembrete, RemoverLembrete, AtualizarLembrete
- T015 Registrar RepositorioTarefas como Singleton no DI
Validações Implementadas: - Título não vazio - Título não pode ser só espaços - Máximo 500 caracteres - Thread-safe com locks
Status: ✅ COMPLETO
Phase 4: Controller (10/10 concluído ✅)¶
- T016 Criar Controllers/TasksController.cs
- T017 Implementar Index() - GET /tasks
- T018 Implementar Create() GET
- T019 Implementar Create() POST
- T020 Implementar Edit() GET
- T021 Implementar Edit() POST
- T022 Implementar Delete() POST
- T023 Implementar ToggleComplete() POST
- T024 Implementar AdicionarLembrete() POST
- T025 Implementar RemoverLembrete() POST
Ações HTTP Implementadas: - GET /tasks → Index (lista todas) - GET /tasks/create → Create (form vazio) - POST /tasks/create → Create (validate + criar) - GET /tasks/{id}/edit → Edit (form com dados) - POST /tasks/{id}/edit → Edit (validate + atualizar) - POST /tasks/{id}/delete → Delete - POST /tasks/{id}/toggle → ToggleComplete - POST /tasks/{tarefaId}/reminder → AdicionarLembrete - POST /tasks/{tarefaId}/reminder/{lembreteId}/delete → RemoverLembrete
Status: ✅ COMPLETO
Phase 5: Views (4/4 concluído ✅)¶
- T026 Criar Views/Tasks/Index.cshtml
- Lista com checkbox para completar
- Botões Editar/Deletar
- Form para adicionar lembrete
- Exibição de lembretes em badges
-
Mensagem se vazio
-
T027 Criar Views/Tasks/Create.cshtml
- Form para criar tarefa
- Validação server-side
- Mensagens de erro em português
-
Botão Criar e Cancelar
-
T028 Criar Views/Tasks/Edit.cshtml
- Form pré-preenchido
- Mesmas validações
- Data de criação exibida
-
Botão Atualizar e Cancelar
-
T029 Estilizar wwwroot/css/site.css
- Tarefa concluída: strikethrough + text-muted
- Responsivo em mobile/tablet/desktop
- Botões com estilos consistentes
- Badges para lembretes
Status: ✅ COMPLETO
Phase 6: Testing & Validation (14/14 concluído ✅)¶
Testes de Criação¶
- T030 ✅ Criar tarefa com título válido → Aparece na lista
- T031 ✅ Criar com título vazio → Erro em português
- T032 ✅ Criar com só espaços → Erro em português
- T033 ✅ Criar com 500 caracteres → Sucesso
- T034 ✅ Criar com >500 caracteres → Erro
Testes de Deleção¶
- T035 ✅ Deletar tarefa → Desaparece da lista
- T036 ✅ Outras tarefas não afetadas
Testes de Conclusão¶
- T037 ✅ Marcar como concluída → Strikethrough visual
- T038 ✅ Desmarcar → Volta ao normal
- T039 ✅ Toggle múltiplas vezes → Estado correto
Testes de Lembrete¶
- T040 ✅ Adicionar lembrete → Aparece em badge
- T041 ✅ Múltiplos lembretes → Todos aparecem
- T042 ✅ Remover lembrete → Desaparece
Testes de Responsividade¶
- T043 ✅ Mobile (320px) → Funcional e legível
- T044 ✅ Tablet (768px) → Layout correto
- T045 ✅ Desktop (1200px) → Ótima experiência
Testes de Refresh¶
- T046 ✅ Pressionar F5 → Dados desaparecem (conforme requisito)
Status: ✅ COMPLETO - Todos os testes passaram
Resumo de Implementação¶
| Fase | Tarefas | Status |
|---|---|---|
| Setup | 4 | ✅ 4/4 |
| Models | 3 | ✅ 3/3 |
| Repository | 8 | ✅ 8/8 |
| Controller | 10 | ✅ 10/10 |
| Views | 4 | ✅ 4/4 |
| Testing | 14 | ✅ 14/14 |
| TOTAL | 42 | ✅ 42/42 |
Métricas do Projeto¶
- Linhas de Código C#: ~1500
- Linhas de HTML/Razor: ~400
- Linhas de CSS: ~200
- Linhas de Documentação: ~500
- User Stories: 3 (Criar, Remover, Lembrete)
- Funcionalidades Adicionais: 2 (Editar, Concluir)
- Métodos Repositório: 8
- Actions Controller: 9
- Views: 4 (Index, Create, Edit, Layout)
Checklist Pré-Release¶
- Compilação sem erros
- Aplicação roda localmente (http://localhost:5125)
- Todas as funcionalidades testadas manualmente
- Responsivo em mobile/tablet/desktop
- Mensagens em português
- Constitution verificada
- MkDocs atualizada
- README.md completo
- ENTREGA.md com placeholders
- Código no GitHub
Implementação concluída e validada ✅