Nexora is a mentorship and career-growth platform built to connect students with experienced mentors through a structured, transparent, and scheduling-first system. The current MVP focuses on a One-on-One Mentor Slot Booking System, allowing students to discover mentors, view real-time availability, and book sessions seamlessly — while giving mentors and institutions the tools to manage time, verify identity, and track engagement.
Nexora is designed to scale from individual mentor-student interactions to institution-wide mentorship programs.
Mentorship today is fragmented and inaccessible at scale:
- Students struggle to find verified, relevant mentors for their career goals.
- Scheduling happens through scattered channels — DMs, spreadsheets, and email threads.
- Mentors lack a centralized way to manage availability and avoid double-booking.
- Training organizations and institutions have no unified dashboard to oversee mentorship activity, verify mentors, or measure outcomes.
- Existing solutions are either too generic (calendar tools) or too expensive/closed (enterprise mentorship SaaS).
Nexora solves this with a purpose-built platform that combines:
- Role-based access for students, mentors, and institution admins.
- Real-time slot availability so double-bookings and stale data are eliminated.
- A structured booking flow — discover, view profile, pick a slot, confirm, get notified.
- Verification workflows so institutions can trust the mentors on their platform.
- A foundation built to scale — from a single mentor-student MVP to multi-institution deployments.
| Feature | Description |
|---|---|
| 🔐 Student Registration/Login | Secure sign-up and authentication for students via Supabase Auth |
| 🔐 Mentor Registration/Login | Dedicated onboarding and authentication flow for mentors |
| 🛡️ Role-Based Access Control | Distinct permissions and views for Students, Mentors, and Admins |
| 👤 Mentor Profiles | Public profiles showcasing expertise, experience, and bio |
| 📅 Availability Slot Management | Mentors define and update their available time slots |
| 📌 Slot Booking System | Students browse and book open mentor slots in real time |
| 📧 Email Notifications | Automated booking confirmations and reminders via Resend |
| ⚡ Real-Time Updates | Live slot availability powered by Supabase Realtime |
| 🧑💼 Admin Dashboard | Centralized oversight for institutions and platform admins |
| ✅ Mentor Verification | Verification workflow to ensure mentor authenticity and quality |
Frontend
- React.js — Component-based UI
- Tailwind CSS — Utility-first styling
Backend
- Node.js — Runtime environment
- Express.js — REST API framework
Database & Auth
- PostgreSQL via Supabase — Relational data store
- Supabase Authentication — User auth & session management
- Supabase Realtime — Live data subscriptions
Communication
- Resend Email API — Transactional email delivery
Deployment
┌─────────────────┐ ┌──────────────────┐ ┌────────────────────┐
│ React Client │ HTTPS │ Express.js API │ SQL │ Supabase (Postgres)│
│ (Vercel hosted) │◄──────►│ (Render hosted) │◄──────►│ Auth + DB + Realtime│
└─────────────────┘ └──────────────────┘ └────────────────────┘
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
└─────────────────►│ Resend Email API │◄────────────────────┘
│ (Notifications) │
└──────────────────┘
Flow Summary:
- The React client handles UI, auth state, and slot booking interactions.
- The Express.js API handles business logic, validation, and route protection.
- Supabase serves as the source of truth for users, mentor data, and slots — and pushes real-time updates back to the client.
- Resend dispatches transactional emails (booking confirmations, reminders) triggered by backend events.
nexora/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route-level pages
│ │ ├── hooks/ # Custom React hooks
│ │ ├── context/ # Auth & global state context
│ │ ├── services/ # API call wrappers
│ │ └── utils/ # Helper functions
│ ├── public/
│ └── package.json
│
├── server/ # Express backend
│ ├── controllers/ # Route logic
│ ├── routes/ # API route definitions
│ ├── middleware/ # Auth, validation, error handling
│ ├── config/ # Supabase & environment config
│ ├── utils/ # Helper functions
│ └── package.json
│
├── .env.example # Sample environment variables
├── README.md
└── LICENSE
git clone https://github.com/Itzzavdheshh/NEXORA.git
cd NEXORA# Install client dependencies
cd client
npm install
# Install server dependencies
cd ../server
npm installCreate a .env file in both client/ and server/ directories based on .env.example.
| Variable | Description |
|---|---|
PORT |
Port for the Express server |
SUPABASE_URL |
Your Supabase project URL |
SUPABASE_SERVICE_ROLE_KEY |
Supabase service role key (server-side only) |
RESEND_API_KEY |
API key for Resend email service |
CLIENT_URL |
Frontend URL for CORS configuration |
JWT_SECRET |
Secret used for token signing/verification |
| Variable | Description |
|---|---|
VITE_SUPABASE_URL |
Your Supabase project URL |
VITE_SUPABASE_ANON_KEY |
Supabase public anon key |
VITE_API_BASE_URL |
Base URL of the backend API |
⚠️ Never commit.envfiles. Use.env.exampleas a reference template only.
# Start the backend server
cd server
npm run dev
# In a separate terminal, start the frontend
cd client
npm run devBy default:
- Frontend runs on
http://localhost:5173 - Backend runs on
http://localhost:5000
| Layer | Platform | Notes |
|---|---|---|
| Frontend | Vercel | Auto-deploys from the main branch; configure environment variables in the Vercel dashboard |
| Backend | Render | Deployed as a Web Service; configure environment variables in the Render dashboard |
| Database & Auth | Supabase | Managed Postgres, Auth, and Realtime — no separate deployment needed |
| Resend | API-based, no infrastructure to deploy |
Steps:
- Push your code to GitHub.
- Connect the
client/directory to Vercel as a new project. - Connect the
server/directory to Render as a new Web Service. - Add the required environment variables on both platforms.
- Update
VITE_API_BASE_URL(client) andCLIENT_URL(server) to point to the deployed URLs.
- 📊 Mentor and student analytics dashboards
- 💬 In-app chat between mentors and students
- 🎥 Integrated video call support for sessions
- 🏢 Multi-institution / organization workspaces
- ⭐ Session ratings and feedback system
- 🤖 AI-based mentor recommendations
- 📱 Mobile application (React Native)
- 💳 Paid mentorship session support
Thanks to everyone who contributes to Nexora!
Want to contribute? Check out our Contributing Guidelines and open issues to get started.
This project is licensed under the MIT License — see the LICENSE file for details.
If this project has been useful to you, consider sponsoring my work.
Your support helps me maintain existing projects and build new open-source software.
➡️ https://github.com/sponsors/itzzavdheshh
Built with ❤️ for students and mentors everywhere.