Course Service
Component Detail
Service Layer
medium complexity
mobile
1
Dependencies
2
Dependents
8
Entities
0
Integrations
Description
Manages course listing retrieval, registration submission, enrollment state transitions, and prerequisite validation via the REST API. Coordinates with the push notification system to schedule confirmation and reminder notifications, and links completed courses to certification records.
course-service
Responsibilities
- Fetch available courses with filtering and pagination from REST API
- Submit and cancel course registrations with optimistic state updates
- Validate prerequisites against user certification and completion records
- Trigger push notification scheduling for registration confirmation, course reminders, and certificate expiry warnings
- Manage BLoC enrollment state transitions (available → registered → completed → certified)
Interfaces
fetchCourses(filters, page, pageSize)
fetchCourseById(courseId)
registerForCourse(courseId, userId)
cancelRegistration(registrationId)
getRegistrationStatus(courseId, userId)
getUserRegistrations(userId)
validatePrerequisites(courseId, userId)
linkCompletionToCertification(registrationId, certificationTypeId)
getCompletionHistory(userId)
Relationships
Dependents (2)
Components that depend on this component
Related Data Entities (8)
Data entities managed by this component