Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ PlaceTrack โ€” AI-Powered Student Placement Tracker

A full-stack MERN web application that completely digitizes campus placement management โ€” featuring real-time Socket.IO notifications, AI Resume ATS Scoring, AI Mock Interview Bot, Eligibility Engine, Email Automation, JWT + Google OAuth, role-based access control, and a 7-chart analytics dashboard built on MongoDB aggregation pipelines.


๐Ÿš€ Live Demo

Link
๐Ÿ”— Frontend https://student-placement-tracker-navy.vercel.app

๐Ÿ“ธ Screenshots

Dashboard ยท Students ยท Analytics ยท Profile ยท Landing Page

image

๐Ÿ”„ System Flow

flow pic

โœจ Features

Module What it does
๐ŸŒ Landing Page Animated public page with live ticker, stat counters, company showcase, dark/light mode
๐Ÿ“Š Dashboard KPI cards, placement rate banner, branch-wise chart, donut chart, top companies table
๐Ÿ‘ฅ Students Full list with search, branch/batch/status filters, pagination, clickable profiles
๐Ÿข Companies Card grid with package range, roles offered, eligibility criteria, hired count
๐Ÿ† Placements Offer records with auto status update, package highlights, offer type badges
๐Ÿ“ˆ Analytics 7+ charts โ€” bar, line, doughnut, radar, dual-axis trend, company breakdown
๐ŸŽฏ Eligibility Engine Auto-filters eligible students by CGPA, backlogs, branch when company is added
๐Ÿค– AI ATS Scorer Upload resume + paste JD โ†’ match %, missing keywords, improvement tips (Gemini AI)
๐ŸŽค AI Mock Interview Company + role specific questions โ†’ real-time evaluation โ†’ score + ideal answers
๐Ÿ”” Real-time Notifications Socket.IO powered โ€” instant alerts for drives, results, eligibility
๐Ÿ“ง Email Automation Beautiful HTML emails via Nodemailer โ€” eligibility alerts + congratulations on placement
๐Ÿ‘ค Profile Student tabs โ€” Academic, Resume upload, ATS Scorer, Mock Interview, Placement status
๐Ÿ” Auth JWT login, Google OAuth, role-based access (Admin / Student / Viewer)
๐ŸŒ™ Dark Mode Full dark/light mode toggle with persistence
๐Ÿ—“๏ธ Drive Calendar Upcoming company visits with date tracking
๐Ÿ’ฌ Interview Experiences Placed students share rounds, questions & tips for juniors
๐ŸŒฑ Seed Script 120 students, 12 companies, ~78 placement records auto-generated

โš™๏ธ Tech Stack

Layer Technology
Frontend React 18, Bootstrap 5, Chart.js, Framer Motion
Backend Node.js, Express.js
Database MongoDB + Mongoose
Real-time Socket.IO (WebSockets)
AI Google Gemini API (ATS Scoring + Mock Interview)
Email Nodemailer + Gmail SMTP
Auth JWT + Google OAuth (Passport.js)
File Upload Multer (Resume PDF)
Charts Chart.js / react-chartjs-2
Styling Bootstrap 5 + Custom CSS

๐Ÿ“ Project Structure

placement-tracker/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”‚   โ”œโ”€โ”€ User.js
โ”‚   โ”‚   โ”œโ”€โ”€ Student.js
โ”‚   โ”‚   โ”œโ”€โ”€ Company.js
โ”‚   โ”‚   โ””โ”€โ”€ Placement.js
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ”‚   โ”œโ”€โ”€ students.js
โ”‚   โ”‚   โ”œโ”€โ”€ companies.js       โ† Eligibility Engine + Email
โ”‚   โ”‚   โ”œโ”€โ”€ placements.js      โ† Congratulations Email
โ”‚   โ”‚   โ”œโ”€โ”€ eligibility.js     โ† Eligibility check + notify
โ”‚   โ”‚   โ”œโ”€โ”€ ats.js             โ† AI Resume ATS Scorer
โ”‚   โ”‚   โ”œโ”€โ”€ mockInterview.js   โ† AI Mock Interview
โ”‚   โ”‚   โ”œโ”€โ”€ stats.js
โ”‚   โ”‚   โ””โ”€โ”€ profile.js
โ”‚   โ”œโ”€โ”€ socket/
โ”‚   โ”‚   โ””โ”€โ”€ socketHandler.js   โ† Socket.IO notification helper
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ””โ”€โ”€ emailService.js    โ† Nodemailer HTML emails
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”‚   โ””โ”€โ”€ auth.js
โ”‚   โ”œโ”€โ”€ seed/
โ”‚   โ”‚   โ””โ”€โ”€ seed.js
โ”‚   โ”œโ”€โ”€ uploads/
โ”‚   โ””โ”€โ”€ server.js              โ† Express + Socket.IO setup
โ”‚
โ””โ”€โ”€ client/
    โ””โ”€โ”€ src/
        โ”œโ”€โ”€ pages/
        โ”‚   โ”œโ”€โ”€ LandingPage.js     โ† Public animated landing
        โ”‚   โ”œโ”€โ”€ Dashboard.js
        โ”‚   โ”œโ”€โ”€ Students.js
        โ”‚   โ”œโ”€โ”€ Companies.js
        โ”‚   โ”œโ”€โ”€ Placements.js
        โ”‚   โ”œโ”€โ”€ Analytics.js
        โ”‚   โ”œโ”€โ”€ Profile.js
        โ”‚   โ”œโ”€โ”€ Notifications.js
        โ”‚   โ””โ”€โ”€ ...
        โ”œโ”€โ”€ components/
        โ”‚   โ”œโ”€โ”€ Layout.js
        โ”‚   โ”œโ”€โ”€ ATSScorer.js       โ† AI Resume Scorer
        โ”‚   โ”œโ”€โ”€ MockInterview.js   โ† AI Mock Interview
        โ”‚   โ”œโ”€โ”€ EligibilityChecker.js โ† Eligibility Engine UI
        โ”‚   โ”œโ”€โ”€ NotificationBell.js
        โ”‚   โ””โ”€โ”€ ...
        โ”œโ”€โ”€ context/
        โ”‚   โ”œโ”€โ”€ AuthContext.js
        โ”‚   โ”œโ”€โ”€ ThemeContext.js
        โ”‚   โ””โ”€โ”€ NotificationProvider.js โ† Socket.IO context
        โ””โ”€โ”€ socket.js              โ† Socket.IO client

๐Ÿ› ๏ธ Setup & Run

Prerequisites

  • Node.js v18+
  • MongoDB (local or Atlas)
  • Gmail account with App Password
  • Google Gemini API key

1๏ธโƒฃ Clone the repo

git clone https://github.com/anoopcodehack/placement-tracker.git
cd placement-tracker

2๏ธโƒฃ Backend Setup

cd backend
npm install

Create .env:

PORT=5000
MONGO_URI=mongodb+srv://youruser:yourpassword@cluster0.xxxxx.mongodb.net/placement_tracker
JWT_SECRET=your_jwt_secret_here
CLIENT_URL=http://localhost:3000
NODE_ENV=development

# Email (Gmail App Password)
EMAIL_USER=your_gmail@gmail.com
EMAIL_PASS=your_16_digit_app_password

# AI
GEMINI_API_KEY=your_gemini_api_key_here

Seed demo data:

npm run seed

Start backend:

npm run dev

3๏ธโƒฃ Frontend Setup

cd ../client
npm install
npm start

๐ŸŒ Frontend: http://localhost:3000 ยท Backend: http://localhost:5000


๐Ÿ” Demo Login

Role Email Password Access
๐Ÿ›ก๏ธ Admin admin@college.edu admin123 Full access
๐Ÿ‘๏ธ Viewer viewer@college.edu viewer123 Read only
๐ŸŽ“ Student Sign up with Roll No โ€” Own profile + AI tools

๐ŸŒ API Endpoints

Auth

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

Students

GET    /api/students             โ† Filters: search, branch, batch, isPlaced, page
POST   /api/students             โ† Admin only
PUT    /api/students/:id         โ† Admin only
DELETE /api/students/:id         โ† Admin only

Companies

GET    /api/companies            โ† Filters: search, industry
POST   /api/companies            โ† Triggers eligibility + email + socket notify
DELETE /api/companies/:id

Placements

GET    /api/placements
POST   /api/placements           โ† Auto updates student + sends congrats email
DELETE /api/placements/:id

Eligibility Engine

GET   /api/eligibility/:companyId        โ† Get eligible students
POST  /api/eligibility/:companyId/notify โ† Notify all eligible
POST  /api/eligibility/check             โ† Check one student

AI

POST  /api/ats                           โ† Resume ATS Scorer (PDF + JD)
POST  /api/mock-interview/questions      โ† Generate 5 questions
POST  /api/mock-interview/evaluate       โ† Evaluate one answer
POST  /api/mock-interview/result         โ† Final score + tips

Analytics

GET   /api/stats/overview
GET   /api/stats/branch-wise
GET   /api/stats/package-distribution
GET   /api/stats/monthly-trend
GET   /api/stats/company-wise
GET   /api/stats/batches

๐ŸŽฏ Role Access Matrix

Feature                    Admin    Student    Viewer
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
View Dashboard             โœ…        โœ…         โœ…
View Analytics             โœ…        โœ…         โœ…
Add/Delete Students        โœ…        โŒ         โŒ
Add/Delete Companies       โœ…        โŒ         โŒ
Record Placements          โœ…        โŒ         โŒ
Eligibility Engine         โœ…        โŒ         โŒ
AI ATS Resume Scorer       โŒ        โœ…         โŒ
AI Mock Interview          โŒ        โœ…         โŒ
Upload Resume              โŒ        โœ…         โŒ
View Own Profile           โŒ        โœ…         โœ…
Real-time Notifications    โœ…        โœ…         โŒ

๐Ÿ“Š Analytics Dashboard

  • โœ… Overall placement rate banner with progress bar
  • โœ… Branch-wise placement bar chart
  • โœ… Placed vs Unplaced doughnut chart
  • โœ… Package distribution bar chart
  • โœ… Monthly offer trend line chart (dual axis)
  • โœ… Top companies by offers bar chart
  • โœ… Avg CGPA by branch radar chart
  • โœ… Company-wise breakdown table with share %
  • โœ… Export to Excel / PDF

๐Ÿค– AI Features

Resume ATS Scorer

Student uploads PDF resume
         โ†“
Paste job description
         โ†“
Gemini AI analyzes both
         โ†“
Returns: Match % ยท Matched keywords
         Missing keywords ยท Strengths
         Improvement suggestions

Mock Interview Bot

Select Company + Role + Round
         โ†“
Gemini generates 5 real questions
         โ†“
Student answers each one
         โ†“
AI evaluates โ†’ Score/10 + Ideal answer
         โ†“
Final result + Tips to improve

๐Ÿ”” Notification System

Admin adds company
      โ†“
Eligibility Engine runs
      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Eligible Students       โ”‚
โ”‚ ๐ŸŽฏ "You are eligible!" โ”‚ โ† Socket.IO popup
โ”‚ ๐Ÿ“ง Detailed HTML email  โ”‚ โ† Nodemailer
โ”‚ ๐Ÿ”” Dashboard bell       โ”‚ โ† Notifications page
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Other Students          โ”‚
โ”‚ ๐Ÿข "New company added"  โ”‚ โ† Socket.IO only
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Admin records placement
      โ†“
๐ŸŽ‰ Congratulations email โ†’ Student

๐ŸŒ Societal Impact

SDG Mapping
๐ŸŽ“ SDG 4 โ€” Quality Education Improves placement transparency in institutions
๐Ÿ’ผ SDG 8 โ€” Decent Work Connects students to employment efficiently
๐Ÿ—๏ธ SDG 9 โ€” Innovation Promotes digital infrastructure in colleges

๐Ÿ”ฎ Roadmap

  • Placement prediction using ML scoring
  • Mobile app (React Native)
  • Admin bulk import via CSV
  • QR-code based student check-in for drives
  • Multi-college support

๐Ÿ‘จโ€๐Ÿ’ป Author

Anoop A โ€” Full Stack Developer ยท GFG Campus Mantri ยท Sahyadri College

GitHub LinkedIn


๐Ÿ“„ License

MIT License โ€” open source and free to use.


โญ Star this repo if you found it helpful!

Made with โค๏ธ to solve a real problem at Sahyadri College

About

๐ŸŽ“PlaceTrack , A full-stack MERN web application that completely digitizes campus placement management โ€” featuring real-time Socket.IO notifications, AI Resume ATS Scoring, AI Mock Interview Bot, Eligibility Engine, Email Automation, JWT + Google OAuth, role-based access control & a 7-chart analytics dashboard on MongoDB aggregation pipelines.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages