Course Management Service
Component Detail
Service Layer
high complexity
backend
1
Dependencies
4
Dependents
3
Entities
0
Integrations
Description
Core business logic service for course listing, enrollment lifecycle, capacity enforcement, and reminder scheduling. Orchestrates enrollment confirmations, interfaces with the Push Notification Service for enrollment confirmations, and hooks into the Scenario-Based Reminders infrastructure for pre-course alerts. Enforces role-based access so coordinator views are gated appropriately.
course-management-service
Responsibilities
- Manage course enrollment and withdrawal lifecycle
- Enforce capacity limits and prevent over-enrollment
- Trigger push notifications on enrollment confirmation
- Schedule pre-course reminders via reminder infrastructure
Interfaces
getCourses(filters)
getCourseById(courseId)
enrollUser(userId, courseId)
withdrawUser(userId, enrollmentId)
getEnrollmentStatus(userId, courseId)
getParticipantsByCourse(courseId)
getEnrollmentsByUser(userId)
getEnrollmentsByAssociation(associationId)
scheduleCourseReminder(enrollmentId, courseDate)
cancelCourseReminder(enrollmentId)
validateEnrollmentEligibility(userId, courseId)
Relationships
Dependents (4)
Components that depend on this component
Related Data Entities (3)
Data entities managed by this component