An enterprise-grade campus recruitment automation platform and institutional accreditation reporting engine built for colleges and universities. Engineered to streamline placement operations, perform live drive eligibility checks with 1-click student registration, offer structured company preparation with an interactive question bank, and generate official NAAC Criterion 5.2.1 / NIRF audit PDF & Excel documentation.
| Environment | URL | Status |
|---|---|---|
| Production Web Application | student-placement-tracker-navy.vercel.app | Active |
| API Health Check | https://student-placement-tracker.onrender.com/api/health |
Active |
graph TD
A[Student / TPO User] -->|HTTPS| B[PlaceTrack Client - React 18 SPA]
B -->|REST API & JWT| C[API Gateway - Express Server]
B <-->|WebSockets| D[Socket.IO Push Notification Engine]
C -->|Mongoose ORM| E[(MongoDB Atlas Central Database)]
C -->|jsPDF & SheetJS| F[NAAC Criterion 5.2.1 PDF & Excel Engine]
C -->|Gemini AI API| G[AI Resume ATS & Mock Interview Service]
C -->|Nodemailer SMTP| H[Email Automation Notification Service]
-
Real-Time Drive Eligibility Engine: Automatically cross-references incoming campus drive requirements against the logged-in student's live academic profile across 4 criteria:
-
Minimum CGPA (e.g.
$\ge 7.0$ ) -
Maximum Backlogs Allowed (e.g.
$\le 0$ ) -
Eligible Branches (e.g.
CSE, ISE, ECE) - Placement Status (unplaced students only)
-
Minimum CGPA (e.g.
- 1-Click Apply & Immediate Audit Lock: Eligible students can register for active campus drives with a single click. The backend validates criteria server-side and saves a point-in-time snapshot of the student's credentials.
-
Compound Unique Indexing:
{ company: 1, student: 1 }guarantees zero duplicate registrations under concurrent conditions. - Student Withdrawal Support: Allows students to withdraw applications before drive cutoffs.
-
TPO Applicant Roster: Placement officers can view registered student rosters with search filters and export company HR-ready
.xlsxspreadsheets in 1 click.
- Institutional Accreditation Letterhead: Formatted specifically for Sahyadri College of Engineering & Management, Mangaluru (Autonomous Institute Affiliated to VTU Belagavi, AICTE Approved, NAAC 'A' Grade, NBA Accredited).
-
Accreditation Key Indicators (Criterion 5.2.1):
- Total Graduating Outgoing Cohort Strength
- Total Verified Placed Students & Overall Institutional Placement Ratio (
%) - Total Employment Offers Received
- Compensation Metrics: Highest Package (
βΉXX.XX LPA) & Average Package (βΉXX.XX LPA)
- Department-Wise NAAC Audit Table: Generates program-by-program breakdown of cohort size, placed count, unplaced count, placement percentage, and average CGPA.
-
NIRF Salary Tier Classification: Classifies offers into Super Dream (
$\ge 15\text{ LPA}$ ), Dream ($8 - 14.99\text{ LPA}$ ), Core IT ($5 - 7.99\text{ LPA}$ ), and Foundation ($< 5\text{ LPA}$ ) categories. - Official Attestation & Signatures: Features certified sign-off boxes for Placement Coordinator, Head - Training & Placement (TPO), and Principal / Head of Institution with college seal placeholders.
-
Multi-Page Vector PDF Output: Vector lines, running headers, and running page numbering (
Page X of Y) viajsPDFandjspdf-autotable. -
NAAC Portal Excel Export: Generates a 3-sheet
.xlsxfile formatted to match the NAAC SSR portal template.
- Company Recruitment Guides: Detailed round-by-round selection roadmaps (Online Assessment, Tech Round 1, Tech Round 2, HR/Managerial) for major campus recruiters:
- TCS, Infosys, Amazon, Google, Microsoft, Wipro, Swiggy, Accenture, Cognizant, PhonePe
- Topic-Categorized Question Bank:
- Data Structures & Algorithms (DSA): Arrays, Linked Lists, Trees, Graphs, Sliding Window, DP.
- Database & SQL: Subqueries,
DENSE_RANK(),GROUP BY ... HAVING, Joins, Indexing, ACID. - Core Computer Science: Operating Systems (Processes vs. Threads), Computer Networks (DNS & TCP/IP), OOP Principles, System Design.
- Web Development: Event Loop, Promises, REST API status codes, React mechanics.
- Quantitative Aptitude: LCM unitary work method, Relative speed, Probability, Profit & Loss.
- HR & Behavioral: 90-Second Self Introduction template, STAR behavioral methodology.
- Expandable Solutions & Reference Code: Step-by-step logic, syntax-highlighted code snippets, copy button, key takeaways, and gotcha tips.
- Readiness Tracker: LocalStorage-persisted "Mark as Mastered" progress bar (e.g.,
12 / 24 Mastered (50% readiness)). - Peer Contribution: Placed students and administrators can contribute verified interview questions.
- Real-Time Metric Tiles: Live placement rate percentage with visual progress bars, average package, highest package, total offers, and active companies.
- Multi-Chart Intelligence:
- Branch-Wise Placement Comparison (Bar Chart)
- Placed vs. Unplaced Cohort Breakdown (Doughnut Chart)
- Salary Tier Package Distribution (Distribution Bar Chart)
- Monthly Hiring Trends & Seasonality (Smooth Line Chart)
- Top Recruiting Companies by Total Hires (Horizontal Bar Chart)
- Batch Filtering: Analyze historical placement trends across graduating classes (e.g. Batch 2023, 2024, 2025, 2026).
| Feature / Action | Training & Placement Officer (Admin) | Student | Viewer / Faculty |
|---|---|---|---|
| Executive Dashboard & Analytics | Yes | Yes | Yes |
| Campus Drives (View & Check Eligibility) | Yes | Yes | Yes |
| 1-Click Apply & Withdraw Registration | No | Yes | No |
| View Applicant Rosters & Export HR Excel | Yes | No | No |
| Official NAAC Criterion 5.2.1 PDF Generator | Yes | Yes | Yes |
| Company Prep Hub & Question Bank | Yes | Yes | Yes |
| Mark Questions as Mastered | No | Yes | No |
| Add / Edit Student Academic Records | Yes | Self Profile | No |
| Add / Edit Company Recruiting Profiles | Yes | No | No |
| Record Verified Placements | Yes | No | No |
| Real-Time Push Notifications | Yes | Yes | No |
Frontend:
βββ React 18 (Functional components, custom hooks)
βββ React Router v6 (SPA declarative routing)
βββ Chart.js & react-chartjs-2 (Data visualization)
βββ Bootstrap 5 & Bootstrap Icons (Clean developer layout)
βββ jsPDF & jspdf-autotable (Institutional vector PDF generation)
βββ SheetJS (xlsx) (Accreditation & HR spreadsheet generation)
βββ Socket.IO Client (Real-time duplex communication)
Backend:
βββ Node.js & Express.js (RESTful micro-service API)
βββ MongoDB & Mongoose ODM (Aggregation pipelines, compound indexing)
βββ Socket.IO Server (Room-based push notification dispatch)
βββ JWT & bcryptjs (Stateless auth & salted password hashing)
βββ Nodemailer (Automated HTML email notifications)
βββ Google Generative AI SDK (Resume ATS keyword analyzer & mock interview bot)
placement-tracker/
βββ server/
β βββ models/
β β βββ User.js # Authentication & studentRef linkage
β β βββ Student.js # Academic credentials, CGPA, backlogs, branch
β β βββ Company.js # Criteria (minCGPA, backlogs, branches), package
β β βββ DriveApplication.js # Compound index { company: 1, student: 1 }
β β βββ PrepQuestion.js # Curated question bank schema with filters
β β βββ Placement.js # Verified job offers & compensation records
β β βββ Interview.js # Senior interview experience writeups
β β βββ Notification.js # User alert logs
β βββ routes/
β β βββ auth.js # JWT signin, signup, profile resolver
β β βββ applications.js # Eligibility engine, 1-click apply & Excel export
β β βββ prep.js # Question bank, company hiring guides, upvotes
β β βββ stats.js # Aggregation pipelines for overview & branch stats
β β βββ students.js # Student CRUD, batch filters, search
β β βββ companies.js # Recruiting partners CRUD
β β βββ placements.js # Placement tracking & email trigger
β β βββ eligibility.js # Direct company eligibility evaluations
β β βββ ats.js # Resume parser & ATS match analysis
β β βββ mockInterview.js # AI interview question generation & scoring
β βββ socket/
β β βββ socketHandler.js # Real-time WebSocket emitter
β βββ utils/
β β βββ studentHelper.js # Auto-link user to student profile
β β βββ emailService.js # Nodemailer HTML templates
β βββ index.js # Server bootstrap & WebSocket attach
β βββ database.js # MongoDB connection handler
β
βββ client/
βββ src/
β βββ pages/
β β βββ Dashboard.js # Executive KPIs, hero banner & analytics
β β βββ CampusDrives.js # Live criteria evaluation & 1-click apply
β β βββ CompanyPrepHub.js # Question bank, company guides & readiness bar
β β βββ Students.js # Student roster with filters & pagination
β β βββ Companies.js # Company directory & hiring stats
β β βββ Placements.js # Placement records & offer management
β β βββ Analytics.js # In-depth multi-chart reporting
β β βββ Profile.js # Student portal, resume upload & password
β β βββ Interviews.js # Senior interview experiences
β βββ components/
β β βββ NAACReportModal.js # Interactive NAAC 5.2.1 audit preview modal
β β βββ DriveApplicantsModal.js # HR applicant list & Excel exporter
β β βββ Layout.js # Responsive sidebar navigation & topbar
β β βββ ConfirmModal.js # Reusable confirmation dialogs
β β βββ NotificationBell.js # Real-time notification drawer
β βββ utils/
β β βββ naacReportGenerator.js # Official vector PDF & NAAC Excel generator
β β βββ exportUtils.js # General XLSX & PDF exporter
β β βββ runtimeConfig.js # Environment URL resolution
β βββ index.css # Design system & dark/light mode tokens
| Method | Endpoint | Access | Description |
|---|---|---|---|
GET |
/api/applications/drives |
Authenticated | Returns all active drives with computed student eligibility & status |
POST |
/api/applications/apply/:companyId |
Student | 1-Click registration with server-side validation & snapshotting |
DELETE |
/api/applications/withdraw/:companyId |
Student | Withdraws registered application |
GET |
/api/applications/company/:id/applicants |
Admin / TPO | Returns full applicant roster with contact & academic info |
GET |
/api/applications/my-applications |
Student | Returns student's active drive applications |
| Method | Endpoint | Access | Description |
|---|---|---|---|
GET |
/api/prep/questions |
Authenticated | Returns questions filtered by topic, difficulty, company, search |
POST |
/api/prep/questions |
Authenticated | Contributes a new question to the bank |
PUT |
/api/prep/questions/:id/like |
Authenticated | Upvotes / marks question as helpful |
GET |
/api/prep/companies |
Authenticated | Returns curated round-by-round company recruitment guides |
| Method | Endpoint | Access | Description |
|---|---|---|---|
GET |
/api/stats/overview |
Authenticated | Key indicators (Total students, placed, rate, avg/max package) |
GET |
/api/stats/branch-wise |
Authenticated | Department-wise cohort size, placed count, average CGPA |
GET |
/api/stats/package-distribution |
Authenticated | CTC tier classification counts |
GET |
/api/stats/monthly-trend |
Authenticated | Monthly offer volume & average package seasonality |
GET |
/api/stats/company-wise |
Authenticated | Top recruiters by total offers extended |
GET |
/api/stats/batches |
Authenticated | Available graduating batch cohorts |
- Node.js: v18.0.0 or higher
- MongoDB: Local MongoDB instance or MongoDB Atlas cluster connection string
- Package Manager: npm or yarn
git clone https://github.com/anoopcodehack/Student-Placement-Tracker.git
cd Student-Placement-TrackerNavigate into the server directory:
cd placement-tracker/server
npm installCreate a .env file in placement-tracker/server/ (refer to .env.example):
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secure_jwt_secret_key
CLIENT_URL=http://localhost:3000
NODE_ENV=development
# Optional Integrations
GEMINI_API_KEY=your_gemini_api_key
EMAIL_USER=your_college_tpo_email@gmail.com
EMAIL_PASS=your_gmail_app_passwordStart the backend server:
npm run dev
# Server starts on http://localhost:5000 with MongoDB connected & auto-seededIn a separate terminal, navigate into the client directory:
cd placement-tracker/client
npm install
npm start
# Client application opens at http://localhost:3000| Role | Email ID | Password | Access Capabilities |
|---|---|---|---|
| Placement Officer (Admin) | admin@college.edu |
admin123 |
Full portal access, drive creation, applicant exports, NAAC audit generator |
| Student | Sign up with any USN / Roll No | Self-selected | Personal eligibility engine, 1-click apply, prep hub, ATS scanner |
| Auditor / Faculty (Viewer) | viewer@college.edu |
viewer123 |
Read-only analytics, dashboard, and accreditation metrics inspection |
Developed for Sahyadri College of Engineering & Management, Mangaluru to support the Training & Placement Department, improve placement outcomes, and streamline documentation for NAAC (Criterion 5.2.1), NBA, and NIRF audits.
Lead Developer & Maintainer:
- Anoop A β Full Stack Developer & GFG Campus Mantri, Sahyadri College
- GitHub: @anoopcodehack
- LinkedIn: Anoop A
This project is licensed under the MIT License. Free to use, adapt, and build upon for educational and institutional placement management.