Partilhar: WhatsApp
aulify · Mini-Projecto
UC UC00620 · T. Desenv. Software
Versão · Aluno

Mini-Projecto · App C# com EF Core

Aplicação completa com BD, LINQ, testes
⏱ Duração estimada: 16 horas (≈ 10 aulas) ↗ Referencial SNQ
Índice

Contexto

Cada par/trio constrói uma aplicação C# completa com .NET 8, Entity Framework Core (SQLite), CLI interactiva e testes xUnit. Cenários:

Requisitos

Funcionais

  1. .NET 8 console app.
  2. EF Core SQLite com migrations.
  3. Mínimo 2 entidades com relação (1:N ou N:M).
  4. CRUD completo via CLI.
  5. LINQ em pelo menos 3 queries não-triviais.
  6. Records ou classes com properties.
  7. Validação de inputs.
  8. Excepções customizadas (mínimo 1).
  9. Testes xUnit (mínimo 5).

Não-funcionais

  1. Estrutura organizada (folders: Models, Data, Services, UI).
  2. Async/await em pelo menos 1 método (opcional, bónus).
  3. README com setup, comandos, screenshots.
  4. GitHub com commits incrementais.
  5. Apresentação com demo ao vivo.

Fases

Fase 1 · Design + setup (2h)

Fase 2 · Models + DbContext (2h)

Fase 3 · CRUD básico (3h)

Fase 4 · CLI menu (3h)

Fase 5 · LINQ + relatórios (2h)

Fase 6 · Testes (2h)

Fase 7 · README + GitHub (1h)

Fase 8 · Apresentação (1h)

Critérios de avaliação

Item Peso
Design + modelagem 10%
EF Core + migrations 15%
LINQ avançado 15%
CRUD completo 15%
CLI usável 10%
Testes xUnit 15%
Estrutura código 5%
GitHub workflow 5%
README 5%
Apresentação 5%

Reflexão

Em meia página: o que C# oferece de melhor que outras linguagens que conheces? Como LINQ mudou a forma como pensas em colecções? EF Core vs SQL raw — onde achaste melhor? Que erros apanhaste em testes e como debug-aste? Quanto demoraria fazer o mesmo em Python ou Java?