A production-oriented full-stack Job Portal SaaS built with the MERN stack.
TalentOrbit connects Candidates, Recruiters, and Administrators through secure, role-based recruitment workflows.
Overview β’ Features β’ Architecture β’ Tech Stack β’ Installation β’ Roadmap
TalentOrbit is a full-stack Job Portal SaaS platform designed to simulate a real-world recruitment ecosystem.
The platform connects job seekers and recruiters while providing administrators with centralized control over the entire system.
TalentOrbit provides dedicated experiences for three primary roles:
| Role | Responsibility |
|---|---|
| π€ Candidate | Discover jobs, manage profiles, upload resumes, save jobs, and apply |
| π’ Recruiter | Create job postings, manage applicants, and control recruitment workflows |
| π‘οΈ Administrator | Manage users, jobs, companies, applications, moderation, and analytics |
The platform goes beyond basic CRUD functionality by implementing complete recruitment workflows including:
- π Authentication & authorization
- π₯ Role-Based Access Control
- π Job discovery and search
- π Job applications
- π Resume uploads
- π Saved jobs
- π’ Recruiter management
- π‘οΈ Admin moderation
- π Analytics dashboards
- π Notifications
- π Activity tracking
- π€ AI-powered chat
- π Data visualization
- π Secure API access
The project focuses on scalability, maintainability, security, modularity, and separation of concerns.
TalentOrbit was built to gain practical experience in designing and developing a production-oriented full-stack application.
- Build a complete MERN-stack application
- Design RESTful APIs
- Implement authentication and authorization
- Implement Role-Based Access Control (RBAC)
- Design MongoDB schemas and relationships
- Build reusable React components
- Implement secure file uploads
- Develop role-specific dashboards
- Implement data visualization
- Integrate third-party AI services
- Apply application-level security
- Design maintainable backend architecture
- Build real-world recruitment workflows
TalentOrbit implements authentication and authorization across the entire application.
- User registration
- User login
- JWT-based authentication
- Password hashing using bcrypt
- Secure cookie handling
- Session-aware frontend
- Logout functionality
- Role-Based Access Control
- Protected frontend routes
- Protected backend APIs
- Candidate permissions
- Recruiter permissions
- Administrator permissions
- Resource-level authorization
ββββββββββββββββββββ
β User β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β Authentication β
β (JWT) β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β Role Validation β
ββββββββββ¬ββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
βΌ βΌ βΌ
π€ Candidate π’ Recruiter π‘οΈ Admin
Candidates can manage their complete job-search lifecycle.
- Browse available jobs
- Search jobs
- Filter jobs
- Paginate job results
- View detailed job information
- View company information
- Explore job requirements
- View employment details
- Apply for jobs
- Upload resumes
- Track submitted applications
- View application status
- View application history
- Monitor recruitment progress
- Save jobs
- Remove saved jobs
- View saved jobs
- Quickly revisit interesting opportunities
- Manage personal information
- Update professional information
- Manage profile details
- Upload resume
- Maintain job-search information
Candidates can monitor:
- Total applications
- Application statuses
- Saved jobs
- Profile information
- Notifications
- Job discovery activity
Recruiters can manage their complete hiring workflow.
- Create job postings
- Edit job postings
- Delete job postings
- View posted jobs
- Manage job information
- Control job availability
- Manage job requirements
Recruiters can:
- View applicants
- Review applications
- View candidate profiles
- Review resumes
- Shortlist candidates
- Reject applications
- Update application status
- Track recruitment activity
Recruiters can monitor:
- Total posted jobs
- Active jobs
- Total applicants
- Applications
- Candidate activity
- Recruitment workflow
The administrator dashboard provides centralized control over the platform.
- View users
- Manage users
- Block users
- Manage candidates
- Manage recruiters
- Monitor user activity
- View jobs
- Manage jobs
- Deactivate jobs
- Moderate job postings
- Monitor platform job activity
- Manage companies
- Review company information
- Monitor company activity
- Monitor applications
- Review application records
- Track platform activity
- Manage application-related data
The admin dashboard provides platform-level insights such as:
- User statistics
- Job statistics
- Application statistics
- Recruitment activity
- Platform activity
- Data visualization
- User blocking
- Job deactivation
- Feedback management
- Platform moderation
- Activity monitoring
- Notifications
- Activity logs
- Reports
- Administrative settings
TalentOrbit includes a dedicated Gemini-powered AI Chat module.
The AI module provides a conversational interface integrated into the application.
- π€ AI-powered conversational interface
- π¬ Interactive chat experience
- π§ Gemini-powered responses
- π Dedicated AI service layer
- β‘ Frontend-to-AI integration
- π Environment-based API configuration
ββββββββββββββββ
β User β
ββββββββ¬ββββββββ
β
βΌ
ββββββββββββββββββββββ
β AI Chat UI β
β React β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββ
β AI Chat Service β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββ
β Gemini API β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββ
β AI Response β
ββββββββββ¬ββββββββββββ
β
βΌ
π€ User
Candidate
β
βΌ
Browse Jobs
β
βΌ
Search / Filter
β
βΌ
View Job Details
β
βΌ
Apply for Job
β
βΌ
Upload Resume
β
βΌ
Application Submitted
β
βΌ
Recruiter Reviews Application
β
βββββββββββββββββββ
βΌ βΌ
Shortlisted Rejected
β
βΌ
Recruitment Process
Recruiter
β
βΌ
Create Job
β
βΌ
Publish Job
β
βΌ
Receive Applications
β
βΌ
Review Candidates
β
βββββββββββββββββ
βΌ βΌ
Shortlist Reject
β
βΌ
Continue Hiring
Platform Activity
β
βΌ
Admin Panel
β
βββββββββββββββββ¬ββββββββββββββββ
βΌ βΌ βΌ
Users Jobs Applications
β β β
βΌ βΌ βΌ
Manage Moderate Monitor
β β β
βββββββββββββββββ΄ββββββββββββββββ
β
βΌ
Platform Control
TalentOrbit follows a layered full-stack architecture.
βββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend β
β β
β React + Tailwind CSS + UI β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββ
β
β HTTP / REST API
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββ
β Backend β
β β
β Node.js + Express.js + Middleware β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββ΄βββββββββ
β β
βΌ βΌ
βββββββββββββββ βββββββββββββββ
β MongoDB β β External API β
β Database β β Gemini / etc.β
βββββββββββββββ βββββββββββββββ
- Separation of concerns
- Modular backend structure
- Reusable frontend components
- RESTful API architecture
- Middleware-based authorization
- Centralized error handling
- Environment-based configuration
- Secure API communication
- Role-Based Access Control
| Technology | Purpose |
|---|---|
| React 19 | Frontend UI |
| Tailwind CSS | Styling and responsive UI |
| React Router | Client-side routing |
| Axios / Fetch | API communication |
| Technology | Purpose |
|---|---|
| Node.js | Runtime environment |
| Express.js | Backend framework |
| JWT | Authentication |
| bcrypt | Password hashing |
| Multer | File uploads |
| Technology | Purpose |
|---|---|
| MongoDB | Primary database |
| Mongoose | MongoDB ODM |
| Technology | Purpose |
|---|---|
| Google Gemini | AI-powered conversational experience |
- Git
- GitHub
- REST APIs
- Environment variables
- ESLint
- npm
Security is an important part of the application architecture.
TalentOrbit implements:
- JWT authentication
- Password hashing
- Protected API routes
- Role-based authorization
- Secure cookie handling
- Environment-based secrets
- Input validation
- Access control
- Protected resources
- Server-side authorization
Sensitive credentials and API keys are intentionally excluded from the repository.
TalentOrbit/
β
βββ client/
β β
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ layouts/
β β βββ hooks/
β β βββ services/
β β βββ context/
β β βββ routes/
β β βββ utils/
β β
β βββ public/
β βββ package.json
β
βββ server/
β β
β βββ controllers/
β βββ models/
β βββ routes/
β βββ middleware/
β βββ services/
β βββ utils/
β βββ config/
β βββ package.json
β
βββ screenshots/
β
βββ .gitignore
βββ README.md
βββ package.json
The exact structure may vary depending on the current implementation.
The backend exposes RESTful endpoints organized around the major platform resources.
POST /api/auth/register
POST /api/auth/login
POST /api/auth/logout
GET /api/auth/me
GET /api/jobs
GET /api/jobs/:id
POST /api/jobs
PUT /api/jobs/:id
DELETE /api/jobs/:id
POST /api/applications
GET /api/applications
GET /api/applications/:id
PUT /api/applications/:id
GET /api/users
GET /api/users/:id
PUT /api/users/:id
DELETE /api/users/:id
Update these endpoints to match the exact routes implemented in the backend.
git clone YOUR_REPOSITORY_URL
cd TalentOrbitcd client
npm installcd ../server
npm installCreate a .env file inside the backend directory.
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
GEMINI_API_KEY=your_gemini_api_key
CLIENT_URL=http://localhost:5173Never commit
.envfiles or expose private credentials.
cd server
npm run devOpen another terminal:
cd client
npm run devThe application will be available through the development URL displayed by the frontend development server.
A typical development workflow looks like:
Feature Idea
β
βΌ
Design / Planning
β
βΌ
Frontend Implementation
β
βΌ
REST API Development
β
βΌ
Database Integration
β
βΌ
Authentication / Authorization
β
βΌ
Testing
β
βΌ
Integration
β
βΌ
Deployment
TalentOrbit demonstrates practical implementation of several full-stack engineering concepts.
- Component-based architecture
- Reusable UI components
- Protected routes
- Role-specific interfaces
- Responsive dashboards
- API-driven UI
- REST API architecture
- Controller-service separation
- Middleware
- Authentication middleware
- Authorization middleware
- Error handling
- File upload handling
- MongoDB schema design
- Mongoose models
- Data relationships
- Query filtering
- Pagination
- Aggregation-based analytics
- JWT authentication
- Password hashing
- Role-based authorization
- Protected resources
- Secure configuration
- Gemini AI integration
- File upload integration
- Frontend/backend communication
- External service configuration
Potential future improvements include:
- Advanced job recommendation system
- AI-powered resume analysis
- AI interview preparation
- Automated candidate ranking
- Real-time notifications
- Email notifications
- Recruiter-candidate messaging
- Resume builder
- Interview scheduling
- Advanced analytics
The long-term goal of TalentOrbit is to evolve from a traditional job portal into an intelligent AI-assisted recruitment platform.
Potential future capabilities include:
TalentOrbit
β
ββββββββββββββββΌβββββββββββββββ
βΌ βΌ βΌ
Candidates Recruiters Admins
β β β
βΌ βΌ βΌ
Job Discovery Hiring Tools Platform Control
β β β
ββββββββββββββββΌβββββββββββββββ
βΌ
AI Intelligence
β
βββββββββββββΌββββββββββββ
βΌ βΌ βΌ
Matching Analysis Automation
Contributions are welcome.
git checkout -b feature/your-featuregit commit -m "feat: add your feature"git push origin feature/your-featureThis project is currently intended for educational, portfolio, and development purposes.
Add an appropriate open-source license if the project is released publicly under a specific license.
Saurav Pandey
Full-Stack Developer β’
Building full-stack applications with a focus on scalable architecture, clean code, and real-world engineering practices.
β If you find TalentOrbit interesting, consider starring the repository!
Built with β€οΈ using the MERN Stack