How ankit4565/enterprise-lms-platform works
This repository is a Spring Boot microservices backend for an enterprise learning management system. Learners and administrators authenticate through the gateway, then use course enrollment and learning features including lessons, progress, quizzes, assignments, and reviews; supporting services provide profiles, instructor applications, and media upload/playback. The tree documents these product capabilities, while sampled code confirms selected auth, review, profile, multipart upload, and transcoding behavior. Most service-to-service wiring and several domain implementations were not sampled, so those links are intentionally omitted.
Main entry points: ApiGatewayApplication.java API gateway · AuthService.java Auth and sessions · MediaService.java Media lifecycle · JwtAuthenticationGlobalFilter.java JWT gateway filter
Components 26
Access and identity
- API gateway
backend/api-gateway/src/main/java/com/enterprise/gateway/ApiGatewayApplication.java - JWT gateway filter
backend/api-gateway/src/main/java/com/enterprise/gateway/filter/JwtAuthenticationGlobalFilter.java - Authentication API
backend/auth-service/src/main/java/com/enterprise/authservice/controller/AuthController.java - Auth and sessions
backend/auth-service/src/main/java/com/enterprise/authservice/service/AuthService.java - JWT service
backend/auth-service/src/main/java/com/enterprise/authservice/security/JwtService.java - Identity records
backend/auth-service/src/main/java/com/enterprise/authservice/repository/UserRepository.java - OTP and email
backend/auth-service/src/main/java/com/enterprise/authservice/service/OtpService.java
Learning experience
- Course catalog
backend/course-service/src/main/java/com/enterprise/courseservice/controller/CourseController.java - Modules and lessons
backend/course-service/src/main/java/com/enterprise/courseservice/controller/ModuleLessonController.java - Enrollment
backend/course-service/src/main/java/com/enterprise/courseservice/controller/EnrolmentController.java - Learning progress
backend/course-service/src/main/java/com/enterprise/courseservice/controller/ProgressController.java - Quizzes and attempts
backend/course-service/src/main/java/com/enterprise/courseservice/service/QuizService.java - Assignments
backend/course-service/src/main/java/com/enterprise/courseservice/controller/AssignmentController.java - Ratings and reviews
backend/course-service/src/main/java/com/enterprise/courseservice/controller/ReviewController.java - Review rules
backend/course-service/src/main/java/com/enterprise/courseservice/service/ReviewService.java - Review records
backend/course-service/src/main/java/com/enterprise/courseservice/repository/ReviewRepository.java
Learner accounts
- Profiles and preferences
backend/user-service/src/main/java/com/enterprise/userservice/controller/ProfileController.java - Profile service
backend/user-service/src/main/java/com/enterprise/userservice/service/ProfileService.java - Instructor applications
backend/user-service/src/main/java/com/enterprise/userservice/service/InstructorApplicationService.java
Media delivery
- Media API
backend/media-service/src/main/java/com/enterprise/mediaservice/controller/MediaController.java - Media lifecycle
backend/media-service/src/main/java/com/enterprise/mediaservice/service/MediaService.java - Media records
backend/media-service/src/main/java/com/enterprise/mediaservice/repository/MediaRepository.java - Object storage
backend/media-service/src/main/java/com/enterprise/mediaservice/storage/S3StorageService.java - Transcoding jobs
backend/media-service/src/main/java/com/enterprise/mediaservice/service/TranscodeService.java
Other components
- Learner or admin
- S3-compatible storage
Connections 26
- Learner or admin → API gateway: sends requests
- API gateway → JWT gateway filter: filters requests
- API gateway → Authentication API: routes auth
- Authentication API → Auth and sessions: invokes
- Auth and sessions → JWT service: creates tokens
- Auth and sessions → Identity records: reads/writes
- Auth and sessions → OTP and email: uses verification
- JWT gateway filter → JWT service: validates tokens
- API gateway → Course catalog: routes learning
- API gateway → Modules and lessons: routes learning
- API gateway → Enrollment: routes enrollment
- API gateway → Learning progress: routes progress
- API gateway → Quizzes and attempts: routes quizzes
- API gateway → Assignments: routes assignments
- API gateway → Ratings and reviews: routes reviews
- Ratings and reviews → Review rules: invokes
- Review rules → Review records: reads/writes
- API gateway → Profiles and preferences: routes profiles
- API gateway → Instructor applications: routes applications
- Profiles and preferences → Profile service: invokes
- API gateway → Media API: routes media
- Media API → Media lifecycle: invokes
- Media lifecycle → Media records: reads/writes
- Media lifecycle → Object storage: requests upload URLs
- Object storage → S3-compatible storage: manages objects
- Media lifecycle → Transcoding jobs: queues processing