Plantilla educativa de API REST con .NET 9 y Clean Architecture. Incluye patrones Repository/Unit of Work, Entity Framework Core y TODOs estructurados para estudiantes.
- Clean Architecture (Domain, Application, Infrastructure, API)
- Repository & Unit of Work patterns
- Entity Framework Core + SQL Server
- AutoMapper + Swagger/OpenAPI
- URLs descriptivas (
/api/roles/getAll
,/api/users/create
) - RolesController completamente implementado (ejemplo)
- TODOs para Users, Tasks y Auth (práctica)
📁 DevWorkshop-TaskAPI/
├── 📁 Domain/ # Entidades y reglas de negocio
├── 📁 Application/ # DTOs, servicios e interfaces
├── 📁 Infrastructure/ # EF Core, Repositories, Unit of Work
└── 📁 Api/ # Controladores y configuración
Prerrequisitos: .NET 9 SDK + SQL Server
# 1. Clonar o usar template
git clone https://github.com/JohanCalaT/DevWorkshop-TaskAPI.git
cd DevWorkshop-TaskAPI
# 2. Configurar BD en appsettings.json
# "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=TaskFlowProDB;Trusted_Connection=true"
# 3. Crear BD
dotnet ef database update --project DevWorkshop.TaskAPI.Infrastructure --startup-project DevWorkshop.TaskAPI.Api
# 4. Ejecutar
dotnet run --project DevWorkshop.TaskAPI.Api
# 5. Probar: https://localhost:7000/swagger
GET /api/roles/getAll
- Obtener todosGET /api/roles/getById/{id}
- Obtener por IDGET /api/roles/getStatistics
- EstadísticasPOST /api/roles/create
- Crear (TODO)PUT /api/roles/update/{id}
- Actualizar (TODO)DELETE /api/roles/delete/{id}
- Eliminar (TODO)
GET /api/users/getAll
- Obtener todosPOST /api/users/create
- Crear usuarioPUT /api/users/update/{id}
- ActualizarDELETE /api/users/delete/{id}
- Eliminar
GET /api/tasks/getAll
- Obtener todasPOST /api/tasks/create
- Crear tareaPUT /api/tasks/update/{id}
- ActualizarDELETE /api/tasks/delete/{id}
- Eliminar
POST /api/auth/login
- LoginPOST /api/auth/register
- Registro
- Estudiar
RolesController
(ejemplo completo) - Buscar comentarios
// TODO: ESTUDIANTE
- Implementar siguiendo el mismo patrón
- DTOs en
Application/DTOs/
- Interfaz en
Application/Interfaces/
- Servicio en
Application/Services/
- Controlador en
Api/Controllers/
- Registrar en
Program.cs
# Error de BD
dotnet ef database drop --force
dotnet ef database update
# Error de migraciones
dotnet ef migrations remove --force
dotnet ef migrations add InitialCreate
dotnet ef database update
¿Necesitas ayuda? Abre un issue
¿Te gusta el proyecto? ¡Dale una ⭐!