MentorLink is a production-oriented MERN platform designed for NGOs to manage mentorship operations, scholarship workflows, and beneficiary engagement with structured, measurable processes.
Deployed context: Mudita - An Alliance for Giving, Pune.
- Frontend (Vercel): https://mentor-link-bay.vercel.app/
- Backend API (Render): https://mentor-link-8ypw.onrender.com/
- API Base URL used by frontend: https://mentor-link-8ypw.onrender.com/api
MentorLink solves a practical NGO operations problem: manual mentor-mentee coordination does not scale. The platform digitizes onboarding, matching, sessions, modules, progress tracking, and scholarship intake in one system.
Key outcomes:
- Role-based portal for admin, mentor, and mentee workflows
- Automated mentor-mentee matching using weighted criteria
- Session planning and completion tracking
- Learning module distribution and access
- Need-analysis driven guidance model
- Scholarship application flow with acknowledgement email and admin notification
- JWT-based authentication
- Role-aware routing and permissions
- Protected APIs for administrative operations
- Weighted multi-criteria scoring
- Criteria: language, domain alignment, mentor workload, mentor experience
- Supports automatic assignment and manual override
- Session scheduling between mentors and mentees
- Status lifecycle tracking
- Feedback and progress capture
- Structured mentee self-assessment
- Captures skill-gap signals used by matching logic
- Admin-managed module library
- Resource distribution to mentees
- Public scholarship application modal on Get Involved page
- Backend persistence in MongoDB
- Email acknowledgement to applicant
- Email notification to admin inbox
- Admin APIs to list, review, and update application status
| Layer | Technology |
|---|---|
| Frontend | React 18, React Router v6, Tailwind CSS |
| Backend | Node.js, Express.js |
| Database | MongoDB Atlas |
| Authentication | JWT, bcryptjs |
| File Handling | Cloudinary |
| Nodemailer (SMTP) | |
| Deployment | Vercel (frontend), Render (backend) |
mentor-link/
client/
server/
docs/
assets/
- POST
/api/auth/register - POST
/api/auth/login - GET
/api/auth/me - POST
/api/auth/forgot-password - PUT
/api/auth/reset-password/:token - PUT
/api/auth/update-profile
- POST
/api/sessions - GET
/api/sessions - GET
/api/sessions/stats - PUT
/api/sessions/:id/status
- GET
/api/admin/stats - GET
/api/admin/users - POST
/api/admin/auto-match - GET
/api/admin/match-suggestions/:id - POST
/api/admin/manual-match
- POST
/api/scholarship-applications/submit(public) - GET
/api/scholarship-applications(protected) - GET
/api/scholarship-applications/:id(protected) - PUT
/api/scholarship-applications/:id/status(protected)
Score model:
Score = Language(30) + Domain(40) + Workload(20) + Experience(10)
Purpose:
- Improve assignment quality
- Reduce admin coordination effort
- Prioritize compatibility and operational fairness
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
REACT_APP_API_URL=https://mentor-link-8ypw.onrender.com/api
PORTMONGO_URIJWT_SECRETJWT_EXPIRECLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRETEMAIL_HOSTEMAIL_PORTEMAIL_USEREMAIL_PASSEMAIL_FROMCLIENT_URL
You can keep the current Mudita website fully live and launch MentorLink in parallel.
Recommended DNS strategy:
- Existing website remains at:
muditaalliance.org - MentorLink frontend:
mentor.muditaalliance.org - MentorLink backend API:
api.muditaalliance.org
Current live pilot URLs:
- Frontend:
https://mentor-link-bay.vercel.app/ - Backend API:
https://mentor-link-8ypw.onrender.com/
Benefits:
- Zero disruption to existing website
- Clear separation between public website and application
- Easier operations, scaling, and rollback
- Small user base
- Low-cost infrastructure
- Focus on workflow validation and feedback cycle
- Upgrade backend to always-on paid plan
- Upgrade Atlas tier for performance and backups
- Add monitoring and alerting
- Add endpoint rate limiting and anti-abuse controls
- Horizontal backend scaling
- Improved observability and incident response
- Dedicated transactional email provider
- Stronger compliance and audit trails
These are approximate and depend on usage.
- Total range: USD 0 to 120
- Total range: USD 120 to 490
- Total range: USD 400 to 2300+
Detailed assumptions are documented in:
assets/Documentation/DOMAIN_SCALING_COSTING.md
- Node.js 18+
- MongoDB Atlas connection
- SMTP credentials
npm run install-allnpm run devDefault local URLs:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:5000
cd client
npm run buildCurrent validation snapshot:
- Frontend production build: passing
- Backend route loading: passing
- Scholarship workflow modules: present
- CORS hardened for multi-origin and preview domains
assets/Documentation/README.mdassets/Documentation/DEPLOYMENT_READINESS_REPORT.mdassets/Documentation/DEMO_PLAYBOOK_MUDITA.mdassets/Documentation/DOMAIN_SCALING_COSTING.mdassets/Documentation/RUNBOOK_PRODUCTION.md
docs/phase1/Synopsis.mddocs/phase2/Report.md
Jaykumar Kale
B.E. Information Technology, PICT Pune
GitHub: https://github.com/Jaykumar-Kale
MIT