A production-ready web application to automate campus placement processes.
- Frontend: React.js, Vite, TailwindCSS
- Backend: Python, Flask, Flask-SQLAlchemy, Flask-JWT-Extended
- Database: MySQL 8.0
- Deployment: Docker, Docker Compose
- Student Portal: Register, create profile, browse drives, apply, and track status.
- Company Portal: Register, post drives, set eligibility, review applicants, shortcut/reject candidates.
- Admin Portal: Approve/reject users, manage the system, view placement reports and export to CSV.
- Security: JWT Authentication, Role-based access control, Rate limiting, Password hashing (bcrypt).
- Notifications: In-app notifications for system events (e.g. status updates).
- Make sure you have Docker and Docker Compose installed.
- In the root directory (
e:\campus_placement), run:docker-compose up --build -d
- The database will automatically initialize using
database/schema.sql. - Access the application:
- Frontend:
http://localhost - Backend API:
http://localhost:5000/api
- Frontend:
POST /api/register/studentPOST /api/register/companyPOST /api/login
GET/PUT /api/student/profileGET /api/student/drivesPOST /api/student/applyGET /api/student/applications
POST /api/company/create-driveGET /api/company/drivesGET /api/company/applicants?drive_id=XPUT /api/company/update-status
GET /api/admin/studentsGET /api/admin/companiesPOST /api/admin/approve-userGET /api/admin/reports
GET /api/notificationsPUT /api/notifications/<id>/read
Backend:
cd backend
pip install -r requirements.txt
python app.py(Ensure a MySQL database named campus_placement is running on localhost)
Frontend:
cd frontend
npm install
npm run dev