Skip to content

About

Production-oriented full-stack Job Portal SaaS connecting Candidates, Recruiters, and Administrators through secure, role-based workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ TalentOrbit β€” Job Portal SaaS

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

React Node.js Express.js MongoDB Tailwind CSS JWT


πŸ“Œ Overview

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.


🎯 Project Objectives

TalentOrbit was built to gain practical experience in designing and developing a production-oriented full-stack application.

Core Engineering Objectives

  • 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

✨ Features

πŸ” Authentication & Authorization

TalentOrbit implements authentication and authorization across the entire application.

Authentication

  • User registration
  • User login
  • JWT-based authentication
  • Password hashing using bcrypt
  • Secure cookie handling
  • Session-aware frontend
  • Logout functionality

Authorization

  • Role-Based Access Control
  • Protected frontend routes
  • Protected backend APIs
  • Candidate permissions
  • Recruiter permissions
  • Administrator permissions
  • Resource-level authorization

Authorization Flow

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚      User        β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Authentication   β”‚
                    β”‚      (JWT)       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Role Validation  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β–Ό               β–Ό               β–Ό
        πŸ‘€ Candidate     🏒 Recruiter    πŸ›‘οΈ Admin

πŸ‘€ Candidate Portal

Candidates can manage their complete job-search lifecycle.

πŸ”Ž Job Discovery

  • Browse available jobs
  • Search jobs
  • Filter jobs
  • Paginate job results
  • View detailed job information
  • View company information
  • Explore job requirements
  • View employment details

πŸ“„ Applications

  • Apply for jobs
  • Upload resumes
  • Track submitted applications
  • View application status
  • View application history
  • Monitor recruitment progress

πŸ“Œ Saved Jobs

  • Save jobs
  • Remove saved jobs
  • View saved jobs
  • Quickly revisit interesting opportunities

πŸ‘€ Candidate Profile

  • Manage personal information
  • Update professional information
  • Manage profile details
  • Upload resume
  • Maintain job-search information

πŸ“Š Candidate Dashboard

Candidates can monitor:

  • Total applications
  • Application statuses
  • Saved jobs
  • Profile information
  • Notifications
  • Job discovery activity

🏒 Recruiter Portal

Recruiters can manage their complete hiring workflow.

πŸ’Ό Job Management

  • Create job postings
  • Edit job postings
  • Delete job postings
  • View posted jobs
  • Manage job information
  • Control job availability
  • Manage job requirements

πŸ‘₯ Applicant Management

Recruiters can:

  • View applicants
  • Review applications
  • View candidate profiles
  • Review resumes
  • Shortlist candidates
  • Reject applications
  • Update application status
  • Track recruitment activity

πŸ“Š Recruiter Dashboard

Recruiters can monitor:

  • Total posted jobs
  • Active jobs
  • Total applicants
  • Applications
  • Candidate activity
  • Recruitment workflow

πŸ›‘οΈ Administrator Portal

The administrator dashboard provides centralized control over the platform.

πŸ‘₯ User Management

  • View users
  • Manage users
  • Block users
  • Manage candidates
  • Manage recruiters
  • Monitor user activity

πŸ’Ό Job Moderation

  • View jobs
  • Manage jobs
  • Deactivate jobs
  • Moderate job postings
  • Monitor platform job activity

🏒 Company Management

  • Manage companies
  • Review company information
  • Monitor company activity

πŸ“„ Application Management

  • Monitor applications
  • Review application records
  • Track platform activity
  • Manage application-related data

πŸ“Š Analytics

The admin dashboard provides platform-level insights such as:

  • User statistics
  • Job statistics
  • Application statistics
  • Recruitment activity
  • Platform activity
  • Data visualization

πŸ› οΈ Moderation

  • User blocking
  • Job deactivation
  • Feedback management
  • Platform moderation
  • Activity monitoring

βš™οΈ Administration

  • Notifications
  • Activity logs
  • Reports
  • Administrative settings

πŸ€– AI-Powered Chat

TalentOrbit includes a dedicated Gemini-powered AI Chat module.

The AI module provides a conversational interface integrated into the application.

AI Features

  • πŸ€– AI-powered conversational interface
  • πŸ’¬ Interactive chat experience
  • 🧠 Gemini-powered responses
  • πŸ”Œ Dedicated AI service layer
  • ⚑ Frontend-to-AI integration
  • πŸ” Environment-based API configuration

AI Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     User     β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    AI Chat UI      β”‚
β”‚      React         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Chat Service  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Gemini API      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    AI Response     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
      πŸ‘€ User

πŸ”„ Core Application Workflows

Candidate β†’ Recruiter Workflow

Candidate
    β”‚
    β–Ό
Browse Jobs
    β”‚
    β–Ό
Search / Filter
    β”‚
    β–Ό
View Job Details
    β”‚
    β–Ό
Apply for Job
    β”‚
    β–Ό
Upload Resume
    β”‚
    β–Ό
Application Submitted
    β”‚
    β–Ό
Recruiter Reviews Application
    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β–Ό                 β–Ό
Shortlisted        Rejected
    β”‚
    β–Ό
Recruitment Process

Recruiter Job Workflow

Recruiter
    β”‚
    β–Ό
Create Job
    β”‚
    β–Ό
Publish Job
    β”‚
    β–Ό
Receive Applications
    β”‚
    β–Ό
Review Candidates
    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β–Ό               β–Ό
Shortlist        Reject
    β”‚
    β–Ό
Continue Hiring

Admin Moderation Workflow

Platform Activity
       β”‚
       β–Ό
   Admin Panel
       β”‚
       β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β–Ό               β–Ό               β–Ό
    Users             Jobs        Applications
       β”‚               β”‚               β”‚
       β–Ό               β–Ό               β–Ό
   Manage          Moderate         Monitor
       β”‚               β”‚               β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
                 Platform Control

πŸ—οΈ Architecture

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.β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Architectural Principles

  • 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

🧰 Tech Stack

Frontend

Technology Purpose
React 19 Frontend UI
Tailwind CSS Styling and responsive UI
React Router Client-side routing
Axios / Fetch API communication

Backend

Technology Purpose
Node.js Runtime environment
Express.js Backend framework
JWT Authentication
bcrypt Password hashing
Multer File uploads

Database

Technology Purpose
MongoDB Primary database
Mongoose MongoDB ODM

AI

Technology Purpose
Google Gemini AI-powered conversational experience

Development

  • Git
  • GitHub
  • REST APIs
  • Environment variables
  • ESLint
  • npm

πŸ”’ Security

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.


πŸ“ Project Structure

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.


πŸ”Œ API Overview

The backend exposes RESTful endpoints organized around the major platform resources.

Authentication

POST   /api/auth/register
POST   /api/auth/login
POST   /api/auth/logout
GET    /api/auth/me

Jobs

GET    /api/jobs
GET    /api/jobs/:id
POST   /api/jobs
PUT    /api/jobs/:id
DELETE /api/jobs/:id

Applications

POST   /api/applications
GET    /api/applications
GET    /api/applications/:id
PUT    /api/applications/:id

Users

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.


βš™οΈ Installation

1. Clone the Repository

git clone YOUR_REPOSITORY_URL

cd TalentOrbit

2. Install Frontend Dependencies

cd client
npm install

3. Install Backend Dependencies

cd ../server
npm install

πŸ” Environment Variables

Create 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:5173

Never commit .env files or expose private credentials.


▢️ Running the Application

Start Backend

cd server
npm run dev

Start Frontend

Open another terminal:

cd client
npm run dev

The application will be available through the development URL displayed by the frontend development server.


πŸ§ͺ Development Workflow

A typical development workflow looks like:

Feature Idea
     β”‚
     β–Ό
Design / Planning
     β”‚
     β–Ό
Frontend Implementation
     β”‚
     β–Ό
REST API Development
     β”‚
     β–Ό
Database Integration
     β”‚
     β–Ό
Authentication / Authorization
     β”‚
     β–Ό
Testing
     β”‚
     β–Ό
Integration
     β”‚
     β–Ό
Deployment

πŸ“ˆ Engineering Highlights

TalentOrbit demonstrates practical implementation of several full-stack engineering concepts.

Frontend Engineering

  • Component-based architecture
  • Reusable UI components
  • Protected routes
  • Role-specific interfaces
  • Responsive dashboards
  • API-driven UI

Backend Engineering

  • REST API architecture
  • Controller-service separation
  • Middleware
  • Authentication middleware
  • Authorization middleware
  • Error handling
  • File upload handling

Database Engineering

  • MongoDB schema design
  • Mongoose models
  • Data relationships
  • Query filtering
  • Pagination
  • Aggregation-based analytics

Security Engineering

  • JWT authentication
  • Password hashing
  • Role-based authorization
  • Protected resources
  • Secure configuration

Third-Party Integration

  • Gemini AI integration
  • File upload integration
  • Frontend/backend communication
  • External service configuration

πŸ—ΊοΈ Roadmap

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

πŸš€ Future Vision

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

🀝 Contributing

Contributions are welcome.

1. Fork the repository

2. Create a feature branch

git checkout -b feature/your-feature

3. Commit your changes

git commit -m "feat: add your feature"

4. Push the branch

git push origin feature/your-feature

5. Open a Pull Request


πŸ“„ License

This 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.


πŸ‘¨β€πŸ’» Author

Saurav Pandey
Full-Stack Developer β€’

Connect on LinkedIn

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

About

Production-oriented full-stack Job Portal SaaS connecting Candidates, Recruiters, and Administrators through secure, role-based workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages