Skip to content
OnlyProjects
MCA · Web DevelopmentFor educational purposes only
Code included

Placement Cell Portal for an Arts and Science College (MERN)

Eligibility rules, drive windows, round-by-round results and placed-student locks for a college placement office

Mapped to your syllabusAnna University MCA Regulation 2021 · Project Work · Semester 4

Overview

1 min read

PlaceDesk is a web application that runs the daily work of the placement cell of a Chennai arts and science college — a cell that this season will register 40+ companies, run 25–30 recruitment drives and answer the same three questions all year: who is eligible, which round is pending, and what did we place last month. Today those answers live in Excel sheets emailed between the placement officer and department coordinators, with eligibility checked by eye and results pasted into group chats.

The portal has three roles. The placement officer registers companies, creates drives with an explicit eligibility rule set (minimum CGPA, maximum standing arrears, history-of-arrears policy, allowed departments and graduation year) and enters round results. The department coordinator verifies student records — semester-wise CGPA and arrears history — for their department. Students complete their profile, upload a resume, see explainable eligibility (each drive shows why they qualify or the exact rule they miss), apply within the drive window, and track round-by-round progress from Aptitude through Technical and HR interviews to the offer.

Two rules give the system its teeth: placed students are locked from further applications (with an officer-controlled upgrade path for offers above a configurable CTC threshold), and one application per student per drive is enforced by a database index, not by the UI. Built with React, Node.js/Express and MongoDB — the full stack of MC4201 with the document-modelling practice of MC4202 — it is a workflow-rich, viva-defensible Anna University MCA R2021 Semester-4 project.

Relevant for
Tamil Nadu
Level
Intermediate · 14 weeks · solo
Common at
Anna University, Chennai, Jawaharlal Nehru Technological University Hyderabad, IGNOU
Updated
Nov 2026

Syllabus alignment

Anna University · MCA Regulation 2021

Project Work · Semester 4

Subjects this project applies
  • MC4201 Full Stack Web Development
  • MC4202 Advanced Database Technology
  • MC4203 Cloud Computing (deployment considerations)
  • MC4009 DevOps (Git workflow and containerised build)
How it is evaluated

See your department's project guidelines.

Also fits: JNTUH MCA R22, IGNOU MCA_NEW — MCSP-232 guidelines (2025), Osmania University 2-year MCA 2022-23.

What's in the box

11 parts · 5 free · 2 previewed · 4 unlock for ₹2,000

Problem & synopsis

5 min read

Problem statement

College placement cells coordinate companies, eligibility rules, applications and multi-round results across hundreds of students using spreadsheets, notices and messaging groups. The parts are interdependent but the tools are not: eligibility is checked by eye against stale sheets, applications arrive after deadlines and in duplicate, round results are relayed by phone, and an accepted offer does not reliably stop further applications — leading to eligibility mistakes at interview venues, disputes about who applied in time, students sitting for drives after placement, and no trustworthy analytics for the college. There is a need for a role-based web portal that keeps verified academic profiles, publishes each drive with an explicit rule set, evaluates and explains eligibility per student, enforces application windows and one-application-per-drive, tracks rounds and offers, locks placed students under a written upgrade policy, and produces department- and company-level placement reports — while storing no Aadhaar, PAN or other government identity numbers.

Synopsis

Abstract

This project delivers a workflow-driven web portal for a college placement cell: verified student academic profiles, company and drive management with explicit eligibility rules, an explainable eligibility engine, deadline-bound applications, round-by-round result tracking, offer records with a placed-student lock, and placement analytics with CSV exports. The stack is React, Node.js/Express and MongoDB behind Mongoose, with JWT-based role control.

Introduction

An arts and science college's placement season is a data-intensive operation compressed into a few months. The placement officer juggles company visits, the coordinators maintain department student lists, and students hear about drives through notices and word of mouth. Every drive has its own eligibility fine print; every round eliminates students; every offer changes who may still apply. Spreadsheets and chat fail precisely because these facts are interdependent — an eligibility mistake surfaces at the interview venue, at the college's reputational cost.

Existing System and Its Limitations

  • Student academic data (CGPA per semester, arrears) sits in separate Excel sheets per department, updated irregularly and unverified.
  • Drive announcements go out as posters and group messages; eligibility is checked manually from the sheets.
  • Applications are collected via forms or WhatsApp; duplicates and after-deadline entries are common.
  • Round results live in the officer's notebook; students learn outcomes by phone.
  • Limitations: no single source of truth, no audit trail, no explainable rejection, no analytics beyond year-end totals.

Proposed System

  • Verified profiles: coordinators approve each student's semester-wise CGPA, arrears history and resume; eligibility depends only on verified data.
  • Drives with rule sets: the officer configures minimum aggregate CGPA, maximum standing arrears, whether a history of arrears disqualifies, allowed departments and graduation years, and the application window.
  • Explainable eligibility: the engine evaluates each student and returns a verdict with per-rule reasons, shown to the student before they apply — no silent rejections.
  • Enforced windows: one application per student per drive, enforced by a unique index, with the deadline checked server-side.
  • Round tracking: each drive defines ordered rounds; the officer records outcomes and shortlists advance automatically.
  • Offers and the placed lock: an accepted offer marks the student Placed and blocks further applications; the officer may unlock for drives whose CTC exceeds the configured upgrade threshold.
  • Analytics: department-wise placement percentage, median and highest CTC, company-wise selections and unplaced-student lists, all exportable as CSV.

Feasibility Study

  • Technical: The MERN stack is taught end to end in MC4201; MongoDB models nested eligibility rules and round histories naturally, and unique indexes enforce the one-application and one-offer constraints. The portal runs on Node 20 and MongoDB 7 on a college desktop or a low-tier host, and resumes are stored as size-limited uploads.
  • Economic: No licence cost; the college already owns the hardware. Against the coordination hours it saves across two semesters, the return is immediate.
  • Operational: The officer's screens mirror the Excel workflow column for column; coordinators need a one-hour walkthrough, and a semester's data seeds the demo in minutes.

Objectives

  1. 01Design a MongoDB data model for students, companies, drives, applications, round results and offers with indexes that enforce one application per drive and one active offer per student.
  2. 02Implement JWT-based role control for placement officer, department coordinator and student, with authorisation enforced server-side.
  3. 03Build verified student profiles: coordinator approval of semester-wise CGPA, arrears history and resume upload before any application is allowed.
  4. 04Implement an explainable eligibility engine that evaluates each drive's rule set against a student's verified record and returns per-rule pass/fail reasons.
  5. 05Enforce server-side application windows and deadlines, rejecting late or duplicate applications with clear messages.
  6. 06Track ordered recruitment rounds per drive with per-student outcomes and automatic shortlist advancement.
  7. 07Record offers, apply the placed-student lock, and implement the officer-controlled CTC-threshold upgrade path.
  8. 08Provide dashboards and CSV reports: department-wise placement percentage, median and highest CTC, company-wise selections and unplaced students.

Scope

In scope

  • One college, its departments, three roles, one placement season (~60 seeded students, 12 companies, 8 drives).
  • Profile verification workflow, eligibility rule sets, applications, ordered rounds, offers, placed lock with upgrade path.
  • Resume upload (PDF, size-limited), in-app notifications of results, CSV exports of all key reports.

Out of scope (v1)

  • Company-side logins (companies are registered and updated by the officer; a company portal is future work).
  • Online tests for aptitude/technical rounds (results are entered, not conducted).
  • Interview scheduling and hall allocation; email/SMS gateways (notifications are in-app in v1).
  • Multi-college (multi-tenant) deployment and government-category filters, which are deliberately excluded on fairness grounds.

Methodology

The project follows an iterative and incremental SDLC with fortnightly demos to the guide — appropriate because the eligibility and lock rules are policy decisions that get refined once the coordinator and officer roles see them working.

PhaseWeeksActivitiesDeliverable
Requirements1–2Interview the placement officer; study the Excel sheets and notice flow; SRSApproved synopsis + SRS
Design3–4Collection schemas, REST contract, eligibility-rule model, round state machine, wireframesDesign document
Increment 15–6Auth and roles, student profiles, coordinator verification, resume uploadProfile module
Increment 27–9Companies, drives, rule sets, eligibility engine, application windowsEligibility module
Increment 310–11Round tracking, results entry, offers, placed lock and upgrade pathDrive workflow module
Increment 412Dashboards, analytics, CSV exports, seed dataReports module
Testing & hardening13Unit + integration tests, role-abuse and deadline testsTest report
Docs & demo14Final report, PPT, demo rehearsalFinal submission

Testing approach: Jest unit tests for the eligibility engine (every rule, boundary CGPAs, arrears combinations) and the CTC median calculation; Supertest integration tests for the API, including apply-after-deadline, duplicate applications, placed-lock attempts and role abuse; manual black-box test cases per screen; and a UAT session walking a seeded student from profile verification to offer.

Architecture & tech stack

3 diagrams · 8 technologies · 2 min read

  • React (MC4201)
  • Node.js + Express (MC4201)
  • MongoDB + Mongoose (MC4202)
  • JWT authentication
  • Tailwind CSS
  • Multer (resume uploads)
  • ExcelJS/CSV exports
  • Jest / Supertest

The portal is a three-tier MERN application with a stateless REST API and all policy rules server-side.

  1. Presentation tier: a React SPA (Vite build, Tailwind CSS) with role-aware routing — the officer's drive console, the coordinator's verification queue and the student's drive list render from the same API; forms validate with shared schemas before submission.
  2. Application tier: Node.js/Express routes pass through JWT verification and role middleware into controllers and services; the eligibility engine, deadline checks, round advancement and the placed lock are services, so no client can bypass them.
  3. Data tier: MongoDB via Mongoose with validated schemas; unique indexes on (drive, student) for applications and on the active offer per student; Multer stores size-limited PDF resumes outside the web root; ExcelJS/CSV streams produce the reports.
flowchart LR
  S["Student browser"] -->|"HTTPS + JWT"| API["Express REST API"]
  O["Placement officer browser"] --> API
  CO["Coordinator browser"] --> API
  API --> MW["JWT verify + role middleware"]
  MW --> SVC["Services: eligibility engine, windows, rounds, lock"]
  SVC --> DB[("MongoDB via Mongoose")]
  SVC --> UP["Multer resume store (PDF)"]
  SVC --> RPT["CSV report exports"]

Data model

erDiagram
  USER ||--|| STUDENT : "has profile"
  USER ||--o{ VERIFICATION : "performs"
  COMPANY ||--o{ DRIVE : offers
  DRIVE ||--o{ APPLICATION : receives
  STUDENT ||--o{ APPLICATION : submits
  DRIVE ||--o{ ROUND : "defines"
  APPLICATION ||--o{ ROUND_RESULT : "records"
  APPLICATION ||--o| OFFER : "ends in"
  STUDENT ||--o| OFFER : holds

  USER {
    string id PK
    string email UK
    string passwordHash
    string role
  }
  STUDENT {
    string id PK
    string userId FK
    string registerNo UK
    string department
    int graduationYear
    boolean verified
    decimal aggregateCgpa
    int standingArrears
    boolean arrearsHistory
    string resumePath
    string placementStatus
  }
  COMPANY {
    string id PK
    string name
    string industry
    string hrContact
  }
  DRIVE {
    string id PK
    string companyId FK
    string role
    decimal ctcLpa
    object eligibilityRules
    date windowOpens
    date windowCloses
  }
  APPLICATION {
    string id PK
    string driveId FK
    string studentId FK
    string currentRound
    string status
  }
  ROUND {
    string id PK
    string driveId FK
    int sequence
    string name
  }
  OFFER {
    string id PK
    string applicationId FK
    decimal ctcLpa
    string status
  }

Application and round flow

flowchart LR
  AP["Applied"] --> R1["Round 1: Aptitude"]
  R1 -->|"cleared"| R2["Round 2: Technical"]
  R2 -->|"cleared"| R3["Round 3: HR"]
  R1 -->|"eliminated"| EL["Eliminated"]
  R2 --> EL
  R3 -->|"cleared"| OF["Offer made"]
  OF --> ACC["Offer accepted: student locked"]
  OF --> DEC["Offer declined"]

The student record deliberately carries register number, department and academic history only — no Aadhaar, PAN or category data — a privacy stance stated in the report and defended in the viva.

Modules

6 modules

  1. Module 01

    Authentication & Roles

    JWT login with bcrypt-hashed passwords for the three roles. Express middleware verifies the token and checks the role on every protected route; a student calling coordinator endpoints receives 403 even with a valid token, because enforcement is server-side, not in the React router.

  2. Module 02

    Student Profiles & Coordinator Verification

    Students enter semester-wise CGPA, arrears history, skills and a PDF resume; the department coordinator reviews and verifies each record, with the aggregate CGPA and standing-arrears count computed by the server from the semester entries rather than typed by the student. An unverified profile cannot apply to any drive — the gate that keeps eligibility honest.

  3. Module 03

    Companies, Drives & Eligibility Rules

    The officer registers companies and creates drives with a role, CTC and an explicit rule object: minimum aggregate CGPA, maximum standing arrears, history-of-arrears policy, allowed departments, graduation years and the application window. Rules are data, not code, so a new company's fine print needs no developer.

  4. Module 04

    Explainable Eligibility Engine

    A pure service evaluates a verified student against a drive's rule set and returns each rule's pass or fail with a human-readable reason. Students see the verdict before applying — including near-misses such as a CGPA 0.02 below the cut-off — which converts silent rejections into actionable information and gives the viva its best demonstration.

  5. Module 05

    Applications, Rounds & Offers

    Eligible students apply within the window; the unique (drive, student) index and server-side deadline check make duplicates and late entries impossible. Each drive's ordered rounds record per-student outcomes, cleared students advance automatically, and an accepted offer flips the student to Placed, locking further applications — unlockable by the officer only for drives above the configured CTC upgrade threshold.

  6. Module 06

    Dashboards, Analytics & Reports

    Role-specific dashboards: the officer sees pending drives, verification backlogs and today's rounds; coordinators see unverified students; students see their drives and results. Reports cover department-wise placement percentage, median and highest CTC, company-wise selections and the unplaced list, each exportable as CSV for the college's records.

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    PlaceDesk — Placement Cell Portal

  2. Slide 2

    Introduction: A Placement Season

  3. Slide 3

    Problem Statement

  4. Slide 4

    Existing vs Proposed System

  5. Slide 5

    Objectives

  6. Slide 6

    Technology Stack and Why

  7. Slide 7

    Architecture

  8. Slide 8

    Data Model

  9. Slide 9

    Eligibility Engine (Deep Dive)

  10. Slide 10

    Drive Workflow (Demo)

  11. Slide 11

    Testing

  12. Slide 12

    Conclusion & Future Scope

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 16 answered free · 13 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    Why did you choose the MERN stack for this portal?

    MC4201 teaches the full JavaScript pipeline, so one language spans client and server, React gives the three roles a responsive single-page interface, and Express is a thin API layer over services. MongoDB matters specifically here because a drive's eligibility rule set is a nested object of varying shape per company, and round histories are arrays that map naturally to documents rather than to a rigid set of SQL tables.

  2. 02Concept

    What does 'explainable eligibility' mean in your engine, and why did you build it that way?

    The engine returns a verdict per rule — aggregate CGPA, standing arrears, arrears history, department, graduation year — each with a human-readable pass or fail reason, rather than a bare yes or no. It matters because a silent rejection breeds resentment and office visits, while a student who sees they missed a 7.50 cut-off by 0.02 knows exactly what to fix for the next drive, and the coordinator can spot data errors from the same verdicts.

  3. 03Concept

    How does JWT authentication work across your three roles?

    At login the server verifies the bcrypt-hashed password and issues a signed token carrying the user id and role. Every protected Express route passes through middleware that verifies the signature and expiry, and a second middleware checks the route's allowed roles — so a student token against a coordinator route returns 403 even if the React router were bypassed. The API stays stateless, which keeps horizontal deployment simple.

+13 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

Source code & how to run

7 steps · complete source code · unlocks with the project

Unlocks with the project · ₹2,000

7 steps · source code zip

Prerequisites, install, seed data and tests, written for demo day. Plus the complete source.

Unlock for ₹2,000

READMEFIRST

247 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

247 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

355 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

355 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

7 sources

  1. React Documentation
  2. Express — Node.js web application framework documentation
  3. MongoDB Manual — documents, indexes and update atomicity
  4. RFC 7519 — JSON Web Token (JWT), RFC Editor
  5. OWASP Top 10 — Web Application Security Risks (2025)
  6. Ian Sommerville, Software Engineering, 10th ed., Pearson
  7. Vasan Subramanian, Pro MERN Stack Development, 2nd ed., Apress

Cite this bundle

OnlyProjects. (2026). Placement Cell Portal for an Arts and Science College (MERN): MCA Web Development project bundle [Educational resource]. https://onlyprojects.online/projects/mca-web-placement-cell-drive-portal

Future scope

1 min read

  • Company self-service portal with job descriptions, shortlist downloads and offer uploads.
  • In-app aptitude/technical round conduction with auto-scoring and instant shortlisting.
  • Email/WhatsApp notifications for drive announcements, results and offer letters, with digital acknowledgement.
  • Placement forecasting — drive-to-selection conversion per department to plan pre-placement training.
  • Alumni referral network and multi-year analytics with NIRF/AICTE-format report exports.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.