How jvivekvardhan/ocms-backend works
OCMS is a Spring Boot backend for user authentication and role-based course management. The documented workflow is a client calling authentication or course APIs; controllers delegate business work to services, which use repositories for persistence. Course enrollment and content management are documented capabilities, and the tree includes lesson components, but their precise wiring is not shown. Security and JWT components are present; README describes JWT conditionally, so their runtime connections are left unspecified.
Main entry points: UserService.java User service · AuthController.java Auth API · CourseController.java Course API · UserController.java User API
Components 18
API layer
- Auth API
src/main/java/com/example/demo/controller/AuthController.java - Course API
src/main/java/com/example/demo/controller/CourseController.java - Lesson API
src/main/java/com/example/demo/controller/LessonController.java - User API
src/main/java/com/example/demo/controller/UserController.java
Domain services
- User service
src/main/java/com/example/demo/service/UserService.java - Course service
src/main/java/com/example/demo/service/CourseService.java
Security
- Security config
src/main/java/com/example/demo/config/SecurityConfig.java - JWT filter
src/main/java/com/example/demo/security/JwtAuthenticationFilter.java - JWT utilities
src/main/java/com/example/demo/security/JwtUtil.java - Auth entry point
src/main/java/com/example/demo/security/JwtAuthenticationEntryPoint.java
Persistence
- User repository
src/main/java/com/example/demo/repository/UserRepository.java - Course repository
src/main/java/com/example/demo/repository/CourseRepository.java - Lesson repository
src/main/java/com/example/demo/repository/LessonRepository.java - User model
src/main/java/com/example/demo/entity/User.java - Course model
src/main/java/com/example/demo/entity/Course.java - Lesson model
src/main/java/com/example/demo/entity/Lesson.java
Other components
- Client
- MySQL
Connections 12
- Client → Auth API: requests
- Client → Course API: requests
- Client → Lesson API: requests
- Client → User API: requests
- Auth API → User service: delegates
- User API → User service: delegates
- Course API → Course service: delegates
- User service → User repository: database operations
- Course service → Course repository: database operations
- User repository → MySQL: persists users
- Course repository → MySQL: persists courses
- Lesson repository → MySQL: persists lessons