Skip to content

gaurav21oct/Placement_Portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Placement Portal

A full-stack recruitment platform built for colleges, connecting students with hiring companies. Students browse and apply to job listings; companies post openings and track applicants — all in one place.

Features

For Students

  • Register and build a profile with resume upload
  • Browse live job listings with filters (role, CTC, location, eligibility)
  • Apply to positions and track application status in real time
  • Receive notifications on status changes

For Companies

  • Create a company account and post job openings
  • Review applications, shortlist candidates, schedule interviews
  • Download applicant data as CSV

For Admin

  • Approve company registrations
  • View placement statistics and reports
  • Manage users and listings

Tech Stack

Layer Technology
Frontend React 18, React Router v6, Axios
Backend Node.js, Express.js
Database MongoDB (Mongoose ODM)
Auth JWT (access + refresh tokens)
File Storage Multer (local) / AWS S3 (production)

Project Structure

placement-portal/
├── client/                   # React frontend
│   ├── public/
│   └── src/
│       ├── api/              # Axios instance + API calls
│       ├── components/       # Shared UI components
│       ├── pages/
│       │   ├── student/
│       │   ├── company/
│       │   └── admin/
│       ├── context/          # AuthContext
│       └── App.jsx
├── server/                   # Express backend
│   ├── controllers/
│   │   ├── auth.controller.js
│   │   ├── job.controller.js
│   │   └── application.controller.js
│   ├── models/
│   │   ├── User.js
│   │   ├── Job.js
│   │   └── Application.js
│   ├── routes/
│   ├── middleware/
│   │   ├── auth.middleware.js
│   │   └── role.middleware.js
│   ├── config/
│   │   └── db.js
│   └── server.js
├── .env.example
├── package.json
└── README.md

Getting Started

Prerequisites

  • Node.js 18+
  • MongoDB (local or Atlas)

Setup

git clone https://github.com/yourusername/placement-portal.git
cd placement-portal

# Backend
cd server
npm install
cp ../.env.example .env       # Fill in your values
npm run dev

# Frontend (new terminal)
cd ../client
npm install
npm start

App runs at http://localhost:3000, API at http://localhost:5000.

Environment Variables

PORT=5000
MONGO_URI=mongodb://localhost:27017/placement_portal
JWT_SECRET=your_jwt_secret_here
JWT_REFRESH_SECRET=your_refresh_secret_here
CLIENT_URL=http://localhost:3000

API Reference

Auth

Method Route Description
POST /api/auth/register Register student or company
POST /api/auth/login Login and receive tokens
POST /api/auth/refresh Refresh access token
POST /api/auth/logout Invalidate refresh token

Jobs

Method Route Description
GET /api/jobs List all active jobs
GET /api/jobs/:id Job detail
POST /api/jobs Create job (company only)
PUT /api/jobs/:id Update job
DELETE /api/jobs/:id Delete job

Applications

Method Route Description
POST /api/applications Apply to a job
GET /api/applications/my Student's own applications
GET /api/applications/job/:jobId Applicants for a job (company)
PATCH /api/applications/:id/status Update status (company)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors