Recruit Sphere is a professional-grade, full-stack recruitment platform designed to streamline the hiring process with automated ATS (Applicant Tracking System) scoring, multi-channel notifications, and high-performance dashboard analytics.
- Automated ATS Scoring: Intelligent resume parsing that ranks candidates based on job-specific criteria and keywords.
- Dynamic Hiring Pipelines: Configurable recruitment stages (Coding rounds, Interviews, Offers) for every job posting.
- High-Performance Architecture: Built with Next.js 14 (App Router) using a streaming architecture for near-instant perceived speed.
- Centralized Logic: Pure Service-Oriented Architecture (SOA) that decouples business logic from UI components.
- Real-time Notifications: Integrated automated email system (SMTP) and in-app alerts for candidates and recruiters.
- Comprehensive Candidate Profiles: Rich profile management including skill tracking, experience history, and resume hosting.
- Frontend: Next.js 14, React 19, Tailwind CSS, Shadcn UI
- State Management: Zustand (Global UI), TanStack Query (Server State)
- Backend Orchestration: Next.js Server Actions with a dedicated Service Layer
- Database: MongoDB with Mongoose (Optimized Indexing)
- Validation: Zod (End-to-end type safety)
- Security: Server-side cookie-based sessions with Middleware protection
High-level overview of the Recruit Sphere service-oriented architecture.
▶ Technical Topology (Click to expand)
graph TD
subgraph "UI Layer (Client/Server Components)"
P[Pages] --> C[Components]
end
subgraph "Action Layer (Next.js Server Actions)"
C --> A[Server Actions]
end
subgraph "Service Layer (Domain Business Logic)"
A --> JS[JobService]
A --> US[UserService]
A --> AS[ApplicationService]
A --> NS[NotificationService]
end
subgraph "Data Layer (Mongoose & Indices)"
JS --> M[(MongoDB)]
US --> M
AS --> M
NS --> M
end
style JS fill:#6366f1,color:#fff,stroke:#333,stroke-width:2px
style US fill:#6366f1,color:#fff,stroke:#333,stroke-width:2px
style AS fill:#6366f1,color:#fff,stroke:#333,stroke-width:2px
style NS fill:#6366f1,color:#fff,stroke:#333,stroke-width:2px
- Dumb Actions, Smart Services: Server Actions act only as thin entry points; all complex logic resides in the Service Layer for testability.
- Streaming & Suspense: Critical data-heavy pages use
loading.tsxand React Suspense boundaries to eliminate blank screens. - Database Indexing: High-performance MongoDB queries through strategic indexing on
createdAt,status, andrecruiterId.
src/
├── app/ # Next.js App Router (Routes & Skeletons)
├── components/ # Reusable UI components (Shared)
├── features/ # Domain-driven feature modules (Jobs, Auth, Profile)
├── lib/ # Utility functions & Database configuration
├── models/ # Mongoose Schemas & Database Models
├── services/ # Centralized Business Logic (The brain of the app)
└── shared/ # Shared types and Zod schemas-
Clone the repository:
git clone https://github.com/varni1512/Recruit_Sphere.git cd Recruit_Sphere -
Install dependencies:
npm install
-
Environment Setup: Create a
.env.localfile with the following:MONGODB_URI=your_mongodb_connection_string SMTP_HOST=your_smtp_host SMTP_PORT=your_smtp_port SMTP_USER=your_smtp_user SMTP_PASS=your_smtp_password
-
Run in development:
npm run dev
- Database: Standardized on
.lean()queries with indexing for maximum throughput. - Rendering: Implemented Parallel Data Fetching (
Promise.all) in the Dashboard to reduce initial load latency. - Bundle: Optimized via dynamic imports for heavy components like charts.
Distributed under the MIT License. See LICENSE for more information.