Skip to content

2Divan2006/PlacementRecommendationSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Driven Placement Opportunity Recommendation Platform

A web platform that helps students discover suitable placement opportunities based on their academic performance (CGPA), department, and skills. The system compares student profiles with company and job role requirements, computes a match score using database queries, and recommends job roles accordingly.

Features

  • Student profiles: CGPA, department, and skills stored in the database
  • Job roles: Company and role requirements (min CGPA, preferred departments, required skills)
  • Match score: Calculated from CGPA eligibility, department fit, and skill overlap (weighted)
  • Recommendations: Job roles ranked by match score for each student
  • Database design: ER-based schema with primary keys, relationships, specialization (IS-A), composite and multivalued attributes, and derived attributes (recommendation scores)

Tech Stack

  • Frontend: React 18, Vite, React Router
  • Backend: Node.js, Express
  • Database: SQLite (better-sqlite3)

Project Structure

├── backend/           # API and database
│   ├── db/            # Schema and DB connection
│   ├── services/      # Match score logic
│   ├── scripts/       # initDb seed script
│   └── server.js
├── frontend/          # React app
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   └── App.jsx
│   └── index.html
└── README.md

How to Run

1. Backend

cd backend
npm install
npm run init-db    # Seed sample students, companies, jobs (run once)
npm run dev        # Start API at http://localhost:3001

2. Frontend

cd frontend
npm install
npm run dev        # Start app at http://localhost:5173

3. Use the app

  1. Open http://localhost:5173
  2. Students: Click Create account to register (email, password, name, roll number, department, CGPA, skills), or Sign in if you already have an account.
  3. Demo student logins (after npm run init-db):
  4. Admin: Click Admin (or go to /admin/login). Default admin:
    • Email: admin@placement.edu
    • Password: admin123 If login fails, run in backend folder: npm run reset-admin, then try again.
  5. In the Admin dashboard you can: view Overview (counts, recent students), Add company, Add skill, Add job requirement (company, title, min CGPA, preferred departments, skills), and view Students list.

Public HTTPS (internet access)

To make the site publicly accessible over HTTPS (anyone on the internet):

  1. Build frontend: cd frontend && npm run build
  2. Start backend: cd backend && node server.js (serves API + frontend from one port)
  3. Run a tunnel: cloudflared tunnel --url http://localhost:3001
    You get a public HTTPS URL (e.g. https://xxxx.trycloudflare.com). See DEPLOY.md for details and other options (local HTTPS, deploy to a host).

Database Schema (high level)

  • departments – Department names
  • specializations – IS-A specialization of departments
  • skills – Skill master list
  • students – Roll number, name, email, CGPA, department (composite key with roll_number + department_id)
  • student_skills – Multivalued: skills per student
  • companies – Company details
  • job_roles – Title, min_cgpa, preferred_department_ids, etc.
  • job_skills – Multivalued: required skills per job
  • recommendation_scores – Derived: stored match score per student–job pair

Match Score

The score is computed in backend/services/matchScore.js:

  • CGPA (35%): How much the student’s CGPA is above the job’s minimum
  • Department (25%): Whether the student’s department is in the job’s preferred list
  • Skills (40%): Overlap of required job skills with student skills, plus a small bonus for extra skills

Scores are stored in recommendation_scores and used to rank recommendations.

License

MIT

About

AI-powered placement recommendation platform that matches students with suitable job opportunities based on skills, CGPA, and academic profile.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors