Skip to content

Jaimin-Kundal/RecruitX

Repository files navigation

RecruitX - Campus Recruitment Management System

A comprehensive offline database management system for campus recruitment with skill-based recommendations, multi-stage recruitment tracking, and analytics.

Features

For Students

  • Skill-based Job Recommendations: Get personalized job matches based on your skills and proficiency levels
  • Profile Management: Manage personal, academic, and skill profiles
  • Application Tracking: Track your applications and their status
  • Eligibility Check: See which jobs you're eligible for based on academic criteria
  • Skill Match Percentage: See how well your skills match job requirements

For Recruiters

  • Job Posting: Create detailed job postings with eligibility criteria and required skills
  • Application Management: View and manage student applications
  • Candidate Evaluation: See skill matches, academic profiles, and contact information
  • Status Updates: Update application status through recruitment stages

For TPO (Training & Placement Office)

  • Analytics Dashboard: Comprehensive placement statistics and trends
  • Approval System: Approve/reject student and recruiter registrations
  • Placement Reports: Track placement rates by branch
  • Skills Demand: Monitor which skills are most in demand
  • Company Tracking: View top recruiting companies

Tech Stack

  • Frontend: React.js with Next.js, TypeScript, Tailwind CSS
  • Backend: Node.js with Express.js
  • Database: MySQL (via XAMPP)
  • UI Components: shadcn/ui

Setup Instructions

Prerequisites

  • Node.js (v18 or higher)
  • XAMPP with MySQL
  • Git

1. Database Setup

  1. Start XAMPP and ensure MySQL is running
  2. Open phpMyAdmin (http://localhost/phpmyadmin)
  3. Run the SQL scripts in order:
    • scripts/01_create_database.sql
    • scripts/02_seed_data.sql

2. Backend Setup

```bash cd server npm install cp .env.example .env

Edit .env with your database credentials

npm start ```

The backend server will run on http://localhost:5000

3. Frontend Setup

```bash npm install npm run dev ```

The frontend will run on http://localhost:3000

Default Credentials

TPO Account (for testing):

Key Features Explained

Skill-Based Recommendations

  • Students add skills with proficiency levels (0-100%)
  • Jobs require specific skills with importance ratings (1-5)
  • System calculates match percentage: weighted average of proficiency × importance
  • Recommendations sorted by match percentage

Eligibility Criteria

The system checks:

  • Minimum 10th score
  • Minimum 12th score
  • Minimum CGPA
  • Maximum backlogs allowed
  • Allowed branches
  • Allowed years

Approval Workflow

  1. Students/Recruiters register
  2. TPO reviews applications
  3. TPO approves/rejects
  4. Approved users can access the system

Multi-Stage Recruitment

  • Recruiters can define recruitment stages (TEST, CODING, INTERVIEW, HR, OTHER)
  • Track candidate progress through each stage
  • Add scores and feedback for each stage

Database Schema Highlights

  • users: Authentication and role management
  • student: Student profiles with academic info
  • academic_profile: 10th, 12th, UG, PG records
  • student_skill: Skills with proficiency (0-100%)
  • recruiter: Recruiter profiles
  • company: Company information with approval status
  • job: Job postings with eligibility criteria
  • job_skill: Required skills for each job with importance
  • application: Student applications with skill match percentage
  • recruitment_process: Multi-stage recruitment tracking
  • stage_result: Results for each recruitment stage

API Endpoints

See server/README.md for complete API documentation.

Constraints and Validations

  • Skill proficiency: 0-100%
  • Academic scores: 0-100%
  • CGPA: 0-10
  • Skill importance: 1-5
  • Backlogs: >= 0
  • All percentage calculations capped at 100%

Project Structure

``` recruitx/ ├── app/ # Next.js app directory │ ├── page.tsx # Landing page │ ├── login/ # Login page │ ├── register/ # Registration page │ ├── student/ # Student dashboard │ ├── recruiter/ # Recruiter dashboard │ └── tpo/ # TPO dashboard ├── components/ # React components │ ├── student/ # Student-specific components │ ├── recruiter/ # Recruiter-specific components │ └── tpo/ # TPO-specific components ├── lib/ # Utility functions and API client ├── server/ # Backend API │ ├── routes/ # API routes │ ├── middleware/ # Authentication middleware │ ├── utils/ # Helper functions │ └── config/ # Configuration files └── scripts/ # Database setup scripts ```

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors