Course Service
Component Detail
Service Layer
medium complexity
mobilebackend
3
Dependencies
3
Dependents
2
Entities
0
Integrations
Description
Business logic layer for course browsing and enrollment lifecycle. Handles paginated course fetching, enrollment writes, role-based access enforcement, and triggers reminder scheduling on enrollment.
course-service
Responsibilities
- Fetch paginated course listings from REST API with filters
- Submit enrollment to backend and write to course_enrollments
- Enforce role check - only Peer Mentors and Coordinators may enroll
- Trigger confirmation push notification via Push Notification Service on successful enrollment
- Schedule reminder push notifications via background job at enrollment time
Interfaces
getCourses(page: int, filters: CourseFilters): Future<List<Course>>
getCourseDetail(courseId: String): Future<Course>
enroll(courseId: String): Future<Enrollment>
getMyEnrollments(): Future<List<Enrollment>>
cancelEnrollment(enrollmentId: String): Future<void>
Relationships
Dependencies (3)
Components this component depends on
Dependents (3)
Components that depend on this component
Related Data Entities (2)
Data entities managed by this component