How liwei1214/fyp works
This is a role-based learning progress web app: students authenticate, then manage notes, to-dos and learning goals from a dashboard; lecturers access material and quiz features. The React client calls an Express API, whose route/controller layers handle authentication, student records, categories, and lecturer resources backed by a database. OCR is an additional, documented-but-not-fully-functional note-creation capability. The graph reflects the sampled routes and controllers; goal-setting details and some client-to-endpoint wiring are not shown in the excerpts.
Main entry points: server.js Express application · App.js App routes · db.js Application database · userRoutes.js User routes
Components 20
React client
- App routes
client/src/App.js - Student dashboard
client/src/pages/Home.js - Notes editor
client/src/pages/NoteEditorPage.js - To-do lists
client/src/pages/ToDoList.js - Lecturer materials
client/src/pages/UploadMaterial.js - API service
client/src/services/apiService.js
API and auth
- Express application
server/server.js - User routes
server/routes/userRoutes.js - Account operations
server/controller/userController.js - Profile routes
server/routes/profileRoutes.js - Category routes
server/routes/categoryRoutes.js - Lecturer routes
server/routes/lecturerRoutes.js - Authentication guard
server/middleware/authMiddleware.js
Learning features
- Student activities
server/controller/studentController.js - Application database
server/db/db.js
Resources and OCR
- Categories and materials
server/controller/categoryController.js - Material and quiz management
server/controller/lecturerController.js - OCR processor
server/ocr_processor.py
Other components
- Student or lecturer
- Tesseract OCR
Connections 29
- Student or lecturer → App routes: uses
- App routes → Student dashboard: routes to
- App routes → Notes editor: routes to
- App routes → To-do lists: routes to
- App routes → Lecturer materials: routes to
- Notes editor → API service: requests notes
- To-do lists → API service: requests lists
- Lecturer materials → API service: uploads materials
- API service → Express application: sends API requests
- Express application → User routes: mounts
- Express application → Profile routes: mounts
- Express application → Category routes: mounts
- Express application → Lecturer routes: mounts
- Express application → OCR processor: runs OCR
- Express application → Tesseract OCR: fallback OCR
- User routes → Account operations: dispatches account requests
- User routes → Student activities: dispatches activity requests
- Profile routes → Authentication guard: guards profile access
- Profile routes → Application database: reads and updates users
- User routes → Authentication guard: guards activity routes
- Account operations → Application database: reads and writes accounts
- Student activities → Application database: reads and writes learning data
- Category routes → Authentication guard: guards routes
- Category routes → Categories and materials: dispatches category requests
- Category routes → Material and quiz management: dispatches material uploads
- Categories and materials → Application database: reads and writes categories
- Lecturer routes → Authentication guard: guards material routes
- Lecturer routes → Material and quiz management: dispatches material and quiz requests
- Material and quiz management → Application database: stores materials and quizzes