How nur-al-mumit/quran-learning-progress works
This is a Quran study-circle learning and administration application, with a Nuxt frontend and Express/MongoDB backend. Its principal operational workflow is staff managing students and class dates, recording attendance, and reviewing attendance/dashboard summaries; students also have sign-in, profile, attendance, and dashboard areas. The sampled backend confirms the API ownership and data access shown below. Frontend page wiring was not sampled, so its feature pages are represented without speculative calls to the API.
Main entry points: server.js Express API · authMiddleware.js Access control · dashboardController.js Dashboard statistics · User.js User records
Components 23
Frontend
- Public study pages
frontend/pages/index.vue - Sign-in and sign-up
frontend/pages/(student)/(Auth)/sign-in.vue - Student pages
frontend/pages/(student)/attendance.vue - Admin pages
frontend/pages/admin/attendance.vue - Plans and competitions
frontend/pages/arrangement.vue - API request helper
frontend/composables/useAxios.js
API
- Express API
backend/server.js
Identity
- Auth routes
backend/routes/authRoutes.js - Auth operations
backend/controllers/authController.js - Access control
backend/middleware/authMiddleware.js - Student routes
backend/routes/userRoutes.js - Student and profile operations
backend/controllers/userController.js - User records
backend/models/User.js
Learning records
- Attendance routes
backend/routes/attendanceRoutes.js - Attendance operations
backend/controllers/attendanceController.js - Attendance records
backend/models/Attendance.js - Class-date routes
backend/routes/classDateRoutes.js - Class-date operations
backend/controllers/classDateController.js - Class dates
backend/models/ClassDate.js
Reporting
- Dashboard routes
backend/routes/dashboardRoutes.js - Dashboard statistics
backend/controllers/dashboardController.js
Other components
- Visitor / user
- MongoDB
Connections 30
- Visitor / user → Public study pages: browses
- Visitor / user → Sign-in and sign-up: signs in
- Visitor / user → Student pages: uses
- Visitor / user → Admin pages: manages
- Visitor / user → Plans and competitions: explores
- Express API → Auth routes: mounts
- Express API → Attendance routes: mounts
- Express API → Student routes: mounts
- Express API → Class-date routes: mounts
- Express API → Dashboard routes: mounts
- Auth routes → Auth operations: dispatches
- Auth routes → Access control: checks protected routes
- Auth operations → User records: reads and creates
- Access control → User records: checks user
- Student routes → Access control: checks access
- Student routes → Student and profile operations: dispatches
- Student and profile operations → User records: reads and writes
- Attendance routes → Access control: checks access
- Attendance routes → Attendance operations: dispatches
- Attendance operations → Attendance records: reads and writes
- Class-date routes → Access control: checks access
- Class-date routes → Class-date operations: dispatches
- Class-date operations → Class dates: reads and writes
- Dashboard routes → Access control: checks access
- Dashboard routes → Dashboard statistics: dispatches
- Dashboard statistics → User records: counts students
- Dashboard statistics → Attendance records: summarizes records
- Dashboard statistics → Class dates: reads schedule
- Express API → MongoDB: connects via config
- API request helper → Express API: sends HTTP requests