Skip to content

anoopcodehack/Student-Placement-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ PlaceTrack โ€” Student Placement Tracker

A full-stack MERN web application for digitizing and managing college campus placements โ€” built with MongoDB, Express.js, React.js, Node.js and Bootstrap 5.


๐Ÿš€ Live Demo

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

๐Ÿ“ธ Screenshots

Dashboard ยท Students ยท Analytics ยท Profile

Screenshot 2026-05-08 233657

๐Ÿงฉ Features

Module What it does
๐Ÿ“Š 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
๐Ÿ‘ค Profile Student tabs โ€” Academic, Resume upload, Placement status, Change password
๐Ÿ” Auth JWT login, Google OAuth, role-based access (Admin / Student / Viewer)
๐ŸŒ™ Dark Mode Full dark / light mode toggle with localStorage persistence
๐ŸŒฑ Seed Script 120 students, 12 companies, ~78 placement records auto-generated

โš™๏ธ Tech Stack

Layer Technology
Frontend React 18, Bootstrap 5, Chart.js, react-chartjs-2
Backend Node.js, Express.js
Database MongoDB + Mongoose
Auth JWT (JSON Web Tokens) + Google OAuth (Passport.js)
File Upload Multer (Resume PDF upload)
Charts Chart.js / react-chartjs-2
Styling Bootstrap 5 + Custom CSS

๐Ÿ“ Project Structure

placement-tracker/
โ”œโ”€โ”€ server/                  โ† Express + MongoDB backend
โ”‚   โ”œโ”€โ”€ models/              โ† Mongoose schemas
โ”‚   โ”‚   โ”œโ”€โ”€ User.js
โ”‚   โ”‚   โ”œโ”€โ”€ Student.js
โ”‚   โ”‚   โ”œโ”€โ”€ Company.js
โ”‚   โ”‚   โ””โ”€โ”€ Placement.js
โ”‚   โ”œโ”€โ”€ routes/              โ† REST API routes
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ”‚   โ”œโ”€โ”€ students.js
โ”‚   โ”‚   โ”œโ”€โ”€ companies.js
โ”‚   โ”‚   โ”œโ”€โ”€ placements.js
โ”‚   โ”‚   โ”œโ”€โ”€ stats.js
โ”‚   โ”‚   โ””โ”€โ”€ profile.js
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”‚   โ””โ”€โ”€ auth.js          โ† JWT middleware
โ”‚   โ”œโ”€โ”€ seed/
โ”‚   โ”‚   โ””โ”€โ”€ seed.js          โ† Demo data seeder
โ”‚   โ”œโ”€โ”€ uploads/             โ† Resume PDF storage
โ”‚   โ””โ”€โ”€ index.js             โ† Entry point
โ”‚
โ””โ”€โ”€ client/                  โ† React frontend
    โ””โ”€โ”€ src/
        โ”œโ”€โ”€ pages/           โ† Dashboard, Students, Companies,
        โ”‚                       Placements, Analytics, Profile
        โ”œโ”€โ”€ components/      โ† Layout, Sidebar, Modals
        โ””โ”€โ”€ context/         โ† AuthContext, ThemeContext

๐Ÿ› ๏ธ Setup & Run

Prerequisites

  • Node.js v16+
  • MongoDB running locally OR MongoDB Atlas URI

1๏ธโƒฃ Clone the repo

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

2๏ธโƒฃ Backend Setup

cd server
npm install
cp .env.example .env

Edit .env file:

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

Load demo data:

npm run seed        # Loads 120 students + 12 companies + ~78 placements

Start backend:

npm run dev         # Starts on http://localhost:5000

3๏ธโƒฃ Frontend Setup

cd ../client
npm install
npm start           # Starts on http://localhost:3000

๐Ÿ” Demo Login Credentials

Role Email Password Access
๐Ÿ›ก๏ธ Admin Full access โ€” add / edit / delete
๐Ÿ‘๏ธ Viewer viewer@college.edu viewer123 Read only โ€” view data & analytics
๐ŸŽ“ Student Sign up with Roll No โ€” Own profile, resume, placement status

๐ŸŒ API Endpoints

Auth

POST   /api/auth/register        โ† Register (with rollNo for student)
POST   /api/auth/login           โ† Login
GET    /api/auth/me              โ† Get current user
GET    /api/auth/google          โ† Google OAuth

Students

GET    /api/students             โ† Get all (filters: search, branch, batch, isPlaced, page)
POST   /api/students             โ† Add student (admin)
PUT    /api/students/:id         โ† Update student (admin)
DELETE /api/students/:id         โ† Delete student (admin)

Companies

GET    /api/companies            โ† Get all (filters: search, industry)
POST   /api/companies            โ† Add company (admin)
DELETE /api/companies/:id        โ† Delete company (admin)

Placements

GET    /api/placements           โ† Get all (filters: offerType, status)
POST   /api/placements           โ† Record placement โ€” auto updates student (admin)
DELETE /api/placements/:id       โ† Remove placement (admin)

Analytics

GET    /api/stats/overview       โ† KPI numbers (batch filter)
GET    /api/stats/branch-wise    โ† Branch placement counts
GET    /api/stats/package-distribution  โ† Package brackets
GET    /api/stats/monthly-trend  โ† Monthly offer trend
GET    /api/stats/company-wise   โ† Top companies
GET    /api/stats/batches        โ† Available batch years

Profile

GET    /api/profile              โ† Get my profile + student data
PUT    /api/profile              โ† Update name, phone, linkedin, github
POST   /api/profile/resume       โ† Upload resume PDF (student only)
PUT    /api/profile/change-password  โ† Change password

๐ŸŽฏ User Roles Explained

Admin      โ†’  Full access. Add students, companies, placements. View everything.
Viewer     โ†’  Read only. View dashboard, students, analytics. No edit access.
Student    โ†’  Sign up with Roll No โ†’ auto-linked to student profile
               โ†’ View own CGPA, skills, placement status
               โ†’ Upload / download resume PDF
               โ†’ Change password

๐Ÿ“Š Analytics Dashboard Includes

  • โœ… Overall placement rate banner
  • โœ… 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 %

๐ŸŒ Societal Impact & SDGs

SDG Mapping
๐ŸŽ“ SDG 4 โ€” Quality Education Improves placement process transparency in institutions
๐Ÿ’ผ SDG 8 โ€” Decent Work & Economic Growth Connects students to employment opportunities efficiently
๐Ÿ—๏ธ SDG 9 โ€” Industry, Innovation & Infrastructure Promotes digital infrastructure in educational institutions

๐Ÿ”ฎ Future Scope

  • Email notifications to eligible students when company visits
  • Eligibility auto-filter based on CGPA, branch, backlogs
  • Export placement report as Excel / PDF
  • Placement prediction using ML scoring
  • Interview experience section for placed students
  • Mobile app using React Native

๐Ÿ‘จโ€๐Ÿ’ป Built With

React ยท Express ยท MongoDB ยท Bootstrap 5 ยท Chart.js ยท JWT ยท Passport.js ยท Multer ยท Mongoose


๐Ÿ“„ License

This project is open source and available under the MIT License.


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

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

About

๐ŸŽ“PlaceTrack โ€” Student Placement Tracker A full-stack MERN web application for digitizing and managing college campus placements โ€” built with MongoDB, Express.js, React.js, Node.js and Bootstrap 5.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors