Full-Stack MERN-Based Campus Recruitment & Placement Management Platform
Placify is a full-stack MERN application designed to streamline campus recruitment by connecting Students, Training & Placement Officers (TPOs), and Administrators on a single platform.
The platform automates the complete placement lifecycleβfrom student registration and profile verification to job applications, recruitment stages, selection tracking, email notifications, and placement analytics.
π Live Application:
https://placify-f81j.onrender.com
π» GitHub Repository:
https://github.com/siribhargavi-t/Placify
- π Full MERN Stack Application
- π JWT Authentication
- π₯ Role-Based Access Control (RBAC)
- π§ Automated Email Notifications using Nodemailer
- π’ Placement Drive Management
- π Placement Analytics Dashboard
- π Resume Upload & Profile Verification
- π― Eligibility Calculator
- π Student Activity Timeline
- βοΈ MongoDB Atlas Integration
- π Live Deployment on Render
- π± Responsive User Interface
- Features
- Tech Stack
- System Architecture
- Folder Structure
- User Roles
- Application Workflow
- REST API Overview
- Database Models
- Installation
- Environment Variables
- Demo Credentials
- Screenshots
- Future Enhancements
- JWT Authentication
- Secure Password Hashing using bcrypt
- Role-Based Access Control (RBAC)
- Protected Frontend Routes
- Protected Backend APIs
- Session Restoration
- Student Verification Workflow
- Account Suspension / Activation
- Secure REST APIs
- Student Dashboard
- Placement Readiness Indicator
- Academic Eligibility Calculator
- Browse Placement Drives
- Search & Filter Drives
- One-Click Job Applications
- Resume Upload
- GitHub & LinkedIn Portfolio Links
- Activity Timeline
- Application History
- Verification Status Banner
- Notification Center
- Profile must be verified before applying
- Resume upload is mandatory
- Maximum 3 active applications
- Dream Upgrade Policy
- Automatic eligibility checking based on:
- Department
- CGPA
- Attendance
- Backlogs
- Dashboard Analytics
- Placement Drive CRUD Operations
- Student Verification
- Applicant Management
- Recruitment Stage Progression
- Bulk Candidate Updates
- CSV Export
- Search & Filtering
- Feedback Management
- Overall Placement Statistics
- Department-wise Reports
- User Management
- Account Suspension
- Placement Analytics Dashboard
- Reports Generation
Automatic emails are sent whenever a student's application status changes.
Supported email templates include:
- π Aptitude Test
- π» Technical Interview
- π€ HR Interview
- π Selected
- β Rejected
Powered by Nodemailer using responsive HTML email templates.
- Student Notifications
- TPO Notifications
- Admin Notifications
- Broadcast Notifications
- Toast Alerts
- Real-Time Status Updates
- React.js
- Vite
- React Router DOM
- Context API
- CSS
- Responsive UI
- Node.js
- Express.js
- REST APIs
- JWT Authentication
- bcrypt Password Hashing
- Nodemailer
- MongoDB Atlas
- Mongoose ODM
- Git
- GitHub
- Render
- Postman
- VS Code
Browser
β
βΌ
React Frontend (Vite)
β
REST API Requests
β
βΌ
Express.js + Node.js Server
β
ββββββββββββββββββΌβββββββββββββββββ
β β β
βΌ βΌ βΌ
JWT Authentication Business Logic Email Service
Middleware (Nodemailer)
β
βΌ
MongoDB Atlas
Placify
β
βββ backend
β βββ middleware/
β β βββ authMiddleware.js
β β βββ roleMiddleware.js
β β
β βββ models/
β β βββ User.js
β β βββ Drive.js
β β βββ Application.js
β β βββ Notification.js
β β
β βββ routes/
β β βββ auth.js
β β βββ users.js
β β βββ drives.js
β β βββ applications.js
β β βββ notifications.js
β β
β βββ utils/
β β βββ mailer.js
β β
β βββ server.js
β βββ package.json
β
βββ frontend
β βββ src/
β β βββ components/
β β βββ layouts/
β β βββ pages/
β β β βββ student/
β β β βββ tpo/
β β β βββ admin/
β β β βββ public/
β β β
β β βββ routes/
β β βββ services/
β β βββ App.jsx
β β βββ main.jsx
β β
β βββ vite.config.js
β βββ package.json
β
βββ README.md
βββ .gitignore
Students can:
- Register
- Login
- Update Profile
- Upload Resume
- Add Skills
- Add GitHub & LinkedIn Links
- View Placement Drives
- Apply for Eligible Drives
- Track Application Status
- View Activity Timeline
- Receive Notifications
TPOs can:
- Verify Student Profiles
- Create Placement Drives
- Edit Placement Drives
- Delete Placement Drives
- View Applicants
- Advance Students through Recruitment Stages
- Reject Applications
- Send Feedback
- Export Applicant Data
- Monitor Placement Statistics
Administrators can:
- View Overall Placement Statistics
- Manage Students
- Manage TPO Accounts
- Suspend User Accounts
- Activate User Accounts
- Generate Reports
- Monitor Department-wise Performance
Student Registration
β
βΌ
Login using JWT Authentication
β
βΌ
Student Completes Profile
β
βΌ
TPO Verifies Profile
β
βΌ
Placement Drive Published
β
βΌ
Eligibility Calculator Runs
β
βΌ
Eligible Student Applies
β
βΌ
Application Stored in MongoDB
β
βΌ
TPO Reviews Applicant
β
βΌ
Aptitude Test
β
βΌ
Technical Interview
β
βΌ
HR Interview
β
βΌ
Selected / Rejected
β
βΌ
Email Notification Sent
β
βΌ
Activity Timeline Updated
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register a new user |
| POST | /api/auth/login |
User login |
| GET | /api/auth/me |
Fetch logged-in user |
| PUT | /api/auth/profile |
Update profile |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/drives |
Get all drives |
| POST | /api/drives |
Create drive |
| PUT | /api/drives/:id |
Update drive |
| DELETE | /api/drives/:id |
Delete drive |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/applications |
Get applications |
| POST | /api/applications |
Apply for drive |
| PUT | /api/applications/:id |
Update application status |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/users |
Get users |
| PUT | /api/users/:id |
Update user |
| PUT | /api/users/:id/status |
Suspend / Activate |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/notifications |
Fetch notifications |
| POST | /api/notifications |
Create notification |
Placify uses MongoDB Atlas as its cloud database. The application consists of four primary collections.
Stores information about Students, TPOs, and Admins.
| Field | Description |
|---|---|
| name | Full Name |
| Unique Email Address | |
| password | Bcrypt Hashed Password |
| role | student / tpo / admin |
| department | Student Department |
| cgpa | Academic CGPA |
| attendance | Attendance Percentage |
| backlogs | Number of Active Backlogs |
| phone | Contact Number |
| skills | Technical Skills |
| githubUrl | GitHub Profile |
| linkedinUrl | LinkedIn Profile |
| resumeUrl | Resume File |
| verificationStatus | Verified / Pending / Rejected |
| verificationRemarks | Remarks by TPO |
| status | Active / Suspended |
Stores placement drive information.
| Field | Description |
|---|---|
| company | Company Name |
| role | Job Role |
| package | Salary Package |
| cgpa | Minimum Required CGPA |
| departments | Eligible Branches |
| location | Job Location |
| deadline | Last Date to Apply |
| status | Open / Closed / Upcoming |
Stores every application submitted by students.
| Field | Description |
|---|---|
| student | Student Reference |
| drive | Drive Reference |
| company | Company Name |
| role | Job Role |
| package | Salary |
| status | Pending / Aptitude / Technical / HR / Selected / Rejected |
| feedback | TPO Feedback |
| appliedDate | Application Date |
Stores system notifications.
| Field | Description |
|---|---|
| message | Notification Content |
| type | success / warning / info |
| target | Student / TPO / Admin |
| read | Read Status |
| createdAt | Timestamp |
Clone the repository
git clone https://github.com/siribhargavi-t/Placify.gitGo inside the project
cd PlacifyInstall dependencies
npm run install:allRun the development server
npm run devBuild the frontend
npm run buildStart production server
npm startCreate a .env file inside the backend directory.
PORT=5000
NODE_ENV=production
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
EMAIL_SERVICE=gmail
EMAIL_USER=your_project_email@gmail.com
EMAIL_PASS=your_google_app_passwordThe application automatically seeds demo users when the database is empty.
Email:
student@placify.com
Password:
password123
Email:
tpo@placify.com
Password:
password123
Email:
admin@placify.com
Password:
password123
- π€ AI Resume Screening
- π Interview Scheduling
- π Advanced Placement Analytics
- π± Mobile Application
- π¬ Real-Time Chat
- π₯ Video Interview Integration
- π Resume Parsing
- π Placement Prediction using Machine Learning
- π Company Recommendation Engine
- π Resume Keyword Matching
This project is developed for educational and portfolio purposes.
The live application uses demo accounts and sample data. No real student information is intentionally exposed in the public deployment.
π Computer Science Engineering Student
π Live Demo
https://placify-f81j.onrender.com
π» GitHub
https://github.com/siribhargavi-t
π Repository
https://github.com/siribhargavi-t/Placify
Please consider giving it a β on GitHub.



