| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
ย | ย | |||
ย | ย | |||
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.
| Link | |
|---|---|
| ๐ Frontend | https://student-placement-tracker-navy.vercel.app |
Dashboard ยท Students ยท Analytics ยท Profile ยท Landing Page
| 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 |
| 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) |
| 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 |
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
git clone https://github.com/anoopcodehack/placement-tracker.git
cd placement-trackercd backend
npm installCreate .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_hereSeed demo data:
npm run seedStart backend:
npm run devcd ../client
npm install
npm start๐ Frontend: http://localhost:3000 ยท Backend: http://localhost:5000
| Role | 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 |
POST /api/auth/register POST /api/auth/login GET /api/auth/me GET /api/auth/google
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
GET /api/companies โ Filters: search, industry POST /api/companies โ Triggers eligibility + email + socket notify DELETE /api/companies/:id
GET /api/placements POST /api/placements โ Auto updates student + sends congrats email DELETE /api/placements/:id
GET /api/eligibility/:companyId โ Get eligible students POST /api/eligibility/:companyId/notify โ Notify all eligible POST /api/eligibility/check โ Check one student
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
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
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 โ โ โ
Student uploads PDF resume
โ
Paste job description
โ
Gemini AI analyzes both
โ
Returns: Match % ยท Matched keywords
Missing keywords ยท Strengths
Improvement suggestions
Select Company + Role + Round
โ
Gemini generates 5 real questions
โ
Student answers each one
โ
AI evaluates โ Score/10 + Ideal answer
โ
Final result + Tips to improve
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
| 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 |
Anoop A โ Full Stack Developer ยท GFG Campus Mantri ยท Sahyadri College
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
| Back | FazBrowse Home | New Git URL |