How dsdipu/mentralink works
MentraLink is a role-based academic mentorship platform. Students, mentors, and administrators enter through the React application, authenticate, and use role-specific workflows for groups, sessions, attendance, evaluations, feedback, and learning content; administrators also manage users and system activity. The frontend communicates with the Express API, which organizes these capabilities into route and controller modules and persists domain records in MongoDB. The README documents Cloudinary media storage and JWT-based security. Some feature-specific backend wiring is unsampled, so those links are represented at the documented subsystem level.
Main entry points: auth.controller.js Account workflows · app.js REST API · models Domain models · App.jsx React app
Components 20
Web application
- React app
Frontend/src/App.jsx - Role-based routes
Frontend/src/routes/AppRoutes.jsx - Auth context
Frontend/src/context/AuthContext.jsx - Role dashboards
Frontend/src/pages - Public resources
Frontend/src/pages/public - Auth client
Frontend/src/services/authService.js - Feature clients
Frontend/src/services
API and domain
- REST API
backend/src/app.js - Domain endpoints
backend/src/routes - Mentorship workflows
backend/src/controllers - Rating aggregation
backend/src/services/rating.service.js
Identity and access
- Auth endpoints
backend/src/routes/auth.routes.js - Account workflows
backend/src/controllers/auth.controller.js - Access middleware
backend/src/middleware - Turnstile verification
State and integrations
- Domain models
backend/src/models - MongoDB
- Cloudinary media
- Email delivery
Other components
- Students, mentors, admins
Connections 23
- Students, mentors, admins → React app: use
- React app → Role-based routes: renders
- Role-based routes → Role dashboards: routes
- Role-based routes → Public resources: routes
- React app → Auth context: provides auth
- Role dashboards → Feature clients: request data
- Public resources → Feature clients: request content
- Auth context → Auth client: uses
- Auth client → REST API: HTTP requests
- Feature clients → REST API: HTTP requests
- REST API → Auth endpoints: mounts
- REST API → Domain endpoints: mounts
- Auth endpoints → Account workflows: dispatches
- Auth endpoints → Access middleware: protects
- Domain endpoints → Mentorship workflows: dispatches
- Domain endpoints → Access middleware: protects
- Account workflows → Domain models: reads/writes
- Mentorship workflows → Domain models: reads/writes
- Rating aggregation → Domain models: reads evaluations
- Domain models → MongoDB: persist records
- Account workflows → Turnstile verification: verifies login
- Account workflows → Email delivery: sends reset code
- Mentorship workflows → Cloudinary media: stores media