How rk936503/edutrack---learning-management-system works
EduTrack is a role-based learning management system: users authenticate, then students browse and enroll in courses, complete lessons and assignments, and track progress; instructors manage courses and review student work; admins manage users and courses and view analytics. The React client uses Redux-backed API services to reach Django REST endpoints, with SQLite as the configured store and Stripe as an optional payment integration. The tree and README document the major domains, but most backend view implementations were not sampled, so internal backend call links are omitted where ownership cannot be confirmed.
Main entry points: api.js HTTP API client · App.jsx Route application · authSlice.js Auth state · auth Login and register
Components 22
Web client
- Route application
frontend/src/App.jsx - Login and register
frontend/src/pages/auth - Student pages
frontend/src/pages/student - Instructor pages
frontend/src/pages/instructor - Admin pages
frontend/src/pages/admin - HTTP API client
frontend/src/services/api.js
Identity
- Auth state
frontend/src/slices/authSlice.js - Account endpoints
backend/apps/accounts/views.py - User model
backend/apps/accounts/models.py
Learning workflows
- Course endpoints
backend/apps/courses/views.py - Course and lessons
backend/apps/courses/models.py - Enrollment state
frontend/src/slices/enrollmentSlice.js - Enrollment endpoints
backend/apps/enrollments/views.py - Enrollment records
backend/apps/enrollments/models.py - Assignment endpoints
backend/apps/assignments/views.py - Assignment records
backend/apps/assignments/models.py
Platform operations
- Payment endpoints
backend/apps/payments/views.py - Analytics endpoints
backend/apps/analytics/views.py - Analytics records
backend/apps/analytics/models.py - SQLite database
backend/edutrack/settings.py
Other components
- Student / staff
- Stripe
Connections 21
- Student / staff → Route application: uses
- Route application → Login and register: routes
- Route application → Student pages: routes
- Route application → Instructor pages: routes
- Route application → Admin pages: routes
- Route application → Auth state: restores identity
- Login and register → Auth state: dispatches auth
- Auth state → HTTP API client: requests
- Enrollment state → HTTP API client: requests
- HTTP API client → Account endpoints: calls auth API
- HTTP API client → Course endpoints: calls course API
- HTTP API client → Enrollment endpoints: calls enrollment API
- HTTP API client → Assignment endpoints: calls assignment API
- HTTP API client → Payment endpoints: calls payment API
- HTTP API client → Analytics endpoints: calls analytics API
- Account endpoints → User model: uses user data
- Course endpoints → Course and lessons: uses course data
- Enrollment endpoints → Enrollment records: uses enrollment data
- Assignment endpoints → Assignment records: uses assignment data
- Analytics endpoints → Analytics records: uses analytics data
- Payment endpoints → Stripe: processes payments