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.

Feature: Course Registration

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>

Related Data Entities (2)

Data entities managed by this component