Andrés Eduardo García Márquez
|
5f33edc501
|
feat(application): add CQRS application layer
Commands:
- CreateStudent, UpdateStudent, DeleteStudent
- EnrollStudent, UnenrollStudent
Queries:
- GetStudents, GetStudentById, GetStudentsPaged
- GetSubjects, GetAvailableSubjects
- GetProfessors
- GetClassmates
DTOs:
- StudentDto, SubjectDto, ProfessorDto, EnrollmentDtos
Validation:
- FluentValidation with ValidationBehavior pipeline
- EnrollStudentValidator for input validation
Uses MediatR for command/query dispatching
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-07 22:59:23 -05:00 |
Andrés Eduardo García Márquez
|
ffc879fe8a
|
feat(domain): add core domain layer
Entities:
- Student: core entity with email validation
- Subject: course with credits (3 each)
- Professor: instructor managing 2 subjects
- Enrollment: student-subject relationship
Value Objects:
- Email: validated email with domain rules
Domain Services:
- EnrollmentDomainService: validates business rules
- Max 3 subjects per student (9 credits)
- No duplicate professor constraint
Ports:
- Repository interfaces for dependency inversion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-07 22:59:10 -05:00 |
Andrés Eduardo García Márquez
|
5568d1c60a
|
chore: add initial project configuration
- Add .gitignore for .NET, Node.js, and IDE files
- Add README.md with project overview
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-07 22:58:56 -05:00 |