Skip to content
Vichet Sat
All projects

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.