Andrés Eduardo García Márquez
|
2d6c08e14a
|
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
|
2026-01-07 22:59:10 -05:00 |