MentorKhet — Mentor Management System
A backend API that matches mentees with mentors by skills, ratings and availability — built by a team of three in a two-week sprint.
- API routes
- 98API routes
- end-to-end tests
- 150end-to-end tests
- developers, 2-week sprint
- 3developers, 2-week sprint
/api/v1 · 98 routes in total
- POST/api/v1/auth/login
- POST/api/v1/auth/refresh-token
- GET/api/v1/mentors
- GET/api/v1/matchings/recommended
- POST/api/v1/sessions
- POST/api/v1/sessions/:id/accept
- POST/api/v1/sessions/:id/complete
- GET/api/v1/availabilities/:mentorId/slots
- POST/api/v1/feedback/:id/respond
- POST/api/v1/mentors/:id/approve
- GET/api/v1/admin/dashboard
- GET/api/v1/activity-logs
Overview
MentorKhet connects mentees with mentors. Our team of three built the backend with NestJS and TypeScript in a 14-day sprint. Besides writing modules, I coordinated the project: I set up the project structure, wrote the sprint plan and task list, and split the remaining tasks between the team.
What I built
- Mentoring session flow: request, accept, decline, complete, cancel and no-show.
- Matching service that scores mentors for each mentee.
- Modules for mentor availability, skills and categories, and learning resources.
- Password reset with expiring tokens, and login required on every route by default (global auth guard).
- Activity logs, mentor approval and suspension, and admin tools.
- 150 end-to-end API tests with Jest, including negative cases for validation, security and roles.
- A 130-case test plan in Google Sheets with a dashboard and bug tracker, generated by Google Apps Script.