How devinvortex/swa-nexusenroll works
NexusEnroll is a .NET university course-enrollment system presented as a modular monolith with in-memory, database-per-service-style repositories. Its main workflow accepts a student enrollment request, resolves the student and course through the facade, applies capacity, prerequisite, and schedule rules, updates enrollment state, and publishes an event. The README also describes faculty grading, administrator overrides and capacity reporting, and student schedule/progress features. API wiring is only partially excerpted; omitted links reflect that evidence limit rather than an assertion that these features are disconnected.
Main entry points: Program.cs Minimal API · EnrollmentFacade.cs Enrollment Facade · EnrollmentService.cs Enrollment Service · EnrollmentEventPublisher.cs Enrollment Event Bus
Components 20
API and Facade
- Minimal API
NexusEnroll2/NexusEnroll.Api/Program.cs - Enrollment Facade
NexusEnroll2/NexusEnroll.Core/Patterns/Facade/EnrollmentFacade.cs
Enrollment Domain
- Student Repository
NexusEnroll2/NexusEnroll.Core/Data/Student/InMemoryStudentRepository.cs - Course Repository
NexusEnroll2/NexusEnroll.Core/Data/Catalogue/InMemoryCourseRepository.cs - Admin Repository
NexusEnroll2/NexusEnroll.Core/Data/Admin/InMemoryAdminRepository.cs - Enrollment Service
NexusEnroll2/NexusEnroll.Core/Services/EnrollmentService.cs - Validation Rules
NexusEnroll2/NexusEnroll.Core/Patterns/Strategy - Enrollment Models
NexusEnroll2/NexusEnroll.Core/Entities/Enrollment.cs
Portal Capabilities
- Student Services
NexusEnroll2/NexusEnroll.Core/Services/StudentService.cs - Catalogue Service
NexusEnroll2/NexusEnroll.Core/Services/CatalogueService.cs - Faculty Services
NexusEnroll2/NexusEnroll.Core/Services/FacultyService.cs - Grade Lifecycle
NexusEnroll2/NexusEnroll.Core/Patterns/State - Admin Services
NexusEnroll2/NexusEnroll.Core/Services/AdminService.cs - Reporting Service
NexusEnroll2/NexusEnroll.Core/Services/ReportingService.cs
Events and Notifications
- Enrollment Event Bus
NexusEnroll2/NexusEnroll.Core/Patterns/Observer/EnrollmentEventPublisher.cs - Advisor and Waitlist
NexusEnroll2/NexusEnroll.Core/Patterns/Observer - Notification Factory
NexusEnroll2/NexusEnroll.Core/Patterns/Factory/NotificationFactory.cs
Other components
- Student
- Faculty
- Administrator
Connections 16
- Student → Minimal API: requests enrollment
- Faculty → Minimal API: submits grades
- Administrator → Minimal API: requests override
- Minimal API → Enrollment Facade: delegates enrollment
- Minimal API → Student Repository: looks up student
- Minimal API → Course Repository: looks up course
- Minimal API → Admin Repository: looks up admin
- Minimal API → Grade Lifecycle: manages grades
- Minimal API → Reporting Service: requests reports
- Enrollment Facade → Student Repository: loads student
- Enrollment Facade → Course Repository: loads courses
- Enrollment Facade → Admin Repository: loads administrator
- Enrollment Facade → Enrollment Service: processes enrollment
- Enrollment Service → Validation Rules: validates enrollment
- Enrollment Service → Enrollment Event Bus: publishes changes
- Enrollment Event Bus → Advisor and Waitlist: dispatches events