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.

Feature: Course Registration & Management

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

Dependencies (1)

Components this component depends on

Dependents (4)

Components that depend on this component

Related Data Entities (3)

Data entities managed by this component