How jvivekvardhan/ocms-project works
OCMS is a React frontend for student course discovery and enrollment, lesson viewing, and admin course and lesson management. The main flow starts in App, which selects the registration/login view or a role-specific dashboard using browser-stored credentials. Student views fetch courses, submit enrollments, and display lessons; admin actions create and delete courses and add lessons. The sampled pages make direct Axios requests to the documented backend. The backend is represented as an external service; its internal behavior is outside this repository.
Main entry points: App.js Role-based App · Login.js Login · Courses.js Course Catalog · Register.js Registration
Components 12
Application Shell
- Role-based App
src/App.js - Navigation and Logout
src/pages/components/Navbar.js
Identity
- Registration
src/pages/Register.js - Login
src/pages/Login.js
Student Learning
- Course Catalog
src/pages/Courses.js - Enrolled Courses
src/pages/MyCourses.js - Lesson Viewer
src/pages/CourseContent.js
Administration
- Course and Lesson Admin
src/pages/AdminDashboard.js
State and Services
- Browser Local Storage
- OCMS Backend
Other components
- Student
- Administrator
Connections 22
- Student → Role-based App: uses
src/App.js - Administrator → Role-based App: uses
src/App.js - Role-based App → Navigation and Logout: renders
src/App.js - Role-based App → Registration: renders when signed out
src/App.js - Role-based App → Login: renders when signed out
src/App.js - Role-based App → Course Catalog: renders for students
src/App.js - Role-based App → Enrolled Courses: renders for students
src/App.js - Role-based App → Course and Lesson Admin: renders for admins
src/App.js - Browser Local Storage → Role-based App: provides token and role
src/App.js - Student → Registration: submits details
src/pages/Register.js - Student → Login: submits credentials
src/pages/Login.js - Login → Browser Local Storage: stores session
src/pages/Login.js - Navigation and Logout → Browser Local Storage: reads and clears
src/pages/components/Navbar.js - Registration → OCMS Backend: posts registration
src/pages/Register.js - Login → OCMS Backend: posts login
src/pages/Login.js - Student → Course Catalog: browses and enrolls
src/pages/Courses.js - Course Catalog → OCMS Backend: fetches and enrolls
src/pages/Courses.js - Course Catalog → Lesson Viewer: renders selected course
src/pages/Courses.js - Lesson Viewer → OCMS Backend: fetches lessons
src/pages/CourseContent.js - Enrolled Courses → OCMS Backend: fetches enrollments
src/pages/MyCourses.js - Administrator → Course and Lesson Admin: manages courses
src/pages/AdminDashboard.js - Course and Lesson Admin → OCMS Backend: lists and manages courses and lessons
src/pages/AdminDashboard.js