A comprehensive campus placement management portal that streamlines the recruitment process between students, administrators, and recruiting companies.
Alumni Gate addresses the challenges faced by educational institutions in managing campus placements. It provides a centralized platform where students can discover job opportunities, track their applications, and manage their profiles, while administrators can efficiently handle company registrations, student eligibility, and placement results.
- Students: Browse companies, check eligibility, apply for positions, and track application status
- Administrators: Manage student data, add companies, evaluate applications, and oversee the placement process
- Placement Cells: Monitor overall placement statistics and manage recruitment workflows
- JWT-based secure authentication with password reset functionality
- Profile management with resume upload (Cloudinary integration)
- Company browsing with eligibility-based filtering
- Job application submission with unique application tracking
- Real-time application status monitoring
- Preference management for job notifications
- Separate admin authentication with role-based access
- Student profile management and verification
- Company CRUD operations with eligibility criteria configuration
- Application evaluation and result management
- Bulk status updates for placement results
- Protected routes with JWT verification
- Password hashing using bcrypt
- Role-based authorization (Student vs Admin)
- Token expiration and refresh handling
- Framework: React 18 with Vite
- Styling: Tailwind CSS
- State Management: React Context API
- HTTP Client: Axios with interceptors
- Routing: React Router v6
- Animations: Framer Motion
- Runtime: Node.js
- Framework: Express.js
- Architecture: MVC with Controllers
- Authentication: JWT with bcrypt
- Database: MongoDB
- ODM: Mongoose
- File Storage: Cloudinary (resume uploads)
- Email: Nodemailer (password reset)
┌─────────────────┐ HTTP/REST ┌─────────────────┐
│ │ ←───────────────→ │ │
│ React Frontend │ │ Express API │
│ (Vite + Axios) │ │ (Controllers) │
│ │ │ │
└─────────────────┘ └────────┬────────┘
│
▼
┌─────────────────┐
│ MongoDB │
│ (Mongoose) │
└─────────────────┘
- User submits credentials
- Backend validates and issues JWT token (7-day expiry)
- Token stored in localStorage
- Subsequent requests include token in Authorization header
- Protected routes verify token via middleware
/api/*- Student routes (require student JWT)/api/admin/*- Admin routes (require admin JWT with role verification)
TheAlumniGate/
├── Backend/
│ ├── app.js # Express server entry point
│ ├── src/
│ │ ├── controllers/ # Route handlers (MVC)
│ │ │ ├── admin/ # Admin-specific controllers
│ │ │ └── *.controller.js # Student controllers
│ │ ├── models/ # Mongoose schemas
│ │ ├── routes/ # API route definitions
│ │ │ └── admin/ # Admin routes
│ │ ├── middlewares/ # Auth & error handling
│ │ └── utils/ # Helper functions
│ └── middlewares/ # Token verification
│
└── Frontend/
└── src/
├── components/ # Reusable UI components
├── pages/ # Page components
├── AdminPages/ # Admin dashboard pages
├── AdminComponents/ # Admin-specific components
├── context/ # React Context providers
├── hooks/ # Custom React hooks
└── services/ # API client configuration
- Node.js v18 or higher
- MongoDB instance (local or Atlas)
- Cloudinary account (for file uploads)
Backend (.env)
PORT=8080
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
EMAIL_USER=your_email_for_notifications
EMAIL_PASS=your_email_app_password
Frontend (.env)
VITE_API_BASE_URL=http://localhost:8080
Backend
cd Backend
npm install
nodemon app.jsFrontend
cd Frontend
npm install
npm run devThe frontend runs on http://localhost:5173 and connects to the backend at http://localhost:8080.
| Practice | Implementation |
|---|---|
| Password Storage | bcrypt hashing with salt rounds |
| Authentication | JWT tokens with 7-day expiration |
| Authorization | Role-based middleware verification |
| API Protection | Token validation on all protected routes |
| Error Handling | Centralized error middleware with sanitized responses |
| Input Validation | Request body validation before processing |
- Recruiter Portal: Dedicated interface for company HR representatives
- Notification System: Email and in-app notifications for application updates
- Analytics Dashboard: Placement statistics and trend analysis
- Interview Scheduling: Integrated calendar for interview management
- Mobile Application: React Native companion app
- Bulk Operations: CSV import/export for student and company data
This project is developed for educational and institutional use.