How himanshuraj108/apna_lakshay_lms works
Apna Lakshay is a role-based library operations and student-learning platform. Students and administrators use the React portal to access seat and shift operations, attendance, fees, requests, and learning tools; Express routes dispatch these requests to backend controllers and persistent records. Separate branches cover AI-assisted study, messaging and live updates, and external payment, media, and email integrations. The graph follows the documented architecture and sampled routes/controllers; several feature implementations were not sampled, so their internal call wiring is shown only at documented boundaries.
Main entry points: models Domain records · server.js Express server · studentRoutes.js Student API · controllers Library operations
Components 27
Role-based portal
- React application
frontend/src/App.jsx - Student portal
frontend/src/pages/student - Admin portal
frontend/src/pages/admin - API client
frontend/src/utils/api.js - Socket.io client
frontend/src/hooks/useSocket.js
Library operations
- Student API
backend/routes/studentRoutes.js - Admin API
backend/routes/adminRoutes.js - Library operations
backend/controllers - Student services
backend/controllers/studentController.js
Learning and engagement
- Chat API
backend/routes/chatRoutes.js - Learning tools
backend/controllers - Mock test engine
backend/controllers/mockTestController.js - Live messaging
backend/sockets/socketHandler.js - AI service
backend/services/aiService.js - Rewards service
backend/services/coinService.js
Backend platform
- Express server
backend/server.js - Access control
backend/middleware/auth.js - Domain records
backend/models - MongoDB
- Redis cache
backend/utils/redis.js
External services
- Email service
backend/services/emailService.js
Other components
- Student
- Admin staff
- Groq API
- Razorpay
- Cloudinary
- SMTP email
Connections 34
- Student → React application: uses portal
- Admin staff → React application: uses portal
- React application → Student portal: routes to
- React application → Admin portal: routes to
- Student portal → API client: requests data
- Admin portal → API client: requests data
- API client → Express server: HTTPS requests
- Express server → Student API: mounts API
- Express server → Admin API: mounts API
- Express server → Chat API: mounts API
- Student API → Access control: guards access
- Admin API → Access control: guards access
- Student API → Student services: dispatches
- Admin API → Library operations: dispatches
- Chat API → Domain records: reads and writes
- Student services → Domain records: reads and writes
- Library operations → Domain records: reads and writes
- Learning tools → Domain records: reads and writes
- Mock test engine → Domain records: stores attempts
- Domain records → MongoDB: persists records
- Student API → Learning tools: dispatches
- Student API → Mock test engine: dispatches
- Learning tools → AI service: requests generation
- Mock test engine → AI service: requests questions
- AI service → Groq API: sends prompts
- Student services → Rewards service: awards coins
- Live messaging → Domain records: reads and writes
- Socket.io client → Express server: opens WSS
- Express server → Live messaging: initializes
- Library operations → Email service: sends notices
- Email service → SMTP email: delivers email
- Student services → Razorpay: creates and verifies payments
- Library operations → Cloudinary: stores media
- Library operations → Redis cache: caches availability