A comprehensive offline database management system for campus recruitment with skill-based recommendations, multi-stage recruitment tracking, and analytics.
- 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
- 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
- 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
- Frontend: React.js with Next.js, TypeScript, Tailwind CSS
- Backend: Node.js with Express.js
- Database: MySQL (via XAMPP)
- UI Components: shadcn/ui
- Node.js (v18 or higher)
- XAMPP with MySQL
- Git
- Start XAMPP and ensure MySQL is running
- Open phpMyAdmin (http://localhost/phpmyadmin)
- Run the SQL scripts in order:
scripts/01_create_database.sqlscripts/02_seed_data.sql
```bash cd server npm install cp .env.example .env
npm start ```
The backend server will run on http://localhost:5000
```bash npm install npm run dev ```
The frontend will run on http://localhost:3000
TPO Account (for testing):
- Email: tpo@university.edu
- Password: tpo123
- 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
The system checks:
- Minimum 10th score
- Minimum 12th score
- Minimum CGPA
- Maximum backlogs allowed
- Allowed branches
- Allowed years
- Students/Recruiters register
- TPO reviews applications
- TPO approves/rejects
- Approved users can access the system
- Recruiters can define recruitment stages (TEST, CODING, INTERVIEW, HR, OTHER)
- Track candidate progress through each stage
- Add scores and feedback for each stage
- 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
See server/README.md for complete API documentation.
- Skill proficiency: 0-100%
- Academic scores: 0-100%
- CGPA: 0-10
- Skill importance: 1-5
- Backlogs: >= 0
- All percentage calculations capped at 100%
``` 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 ```