Skip to content

Repository files navigation

JoSAA Replica

A Python-based backend system that simulates JoSAA-style seat allocation using rank, category reservation, home-state quota, female reservation, and branch preferences loaded from CSV files.


Features

  • Rank-based seat allocation

  • Preference-based branch allotment

  • Home State (HS) and Other State (OS) quota support

  • Reservation support for:

    • OPEN
    • OBC
    • SC
    • ST
    • EWS
  • Female reservation support

  • CSV-based student dataset

  • CSV-based branch and seat matrix dataset

  • Automatic allotment report generation

  • Cutoff report generation

  • Seat utilization report generation

  • CSV export of analytics


Project Structure

josaa-replica/
│
├── student.py
├── branch.py
├── allocate_engine.py
├── csv_loader.py
├── branch_loader.py
├── result_exporter.py
├── report_generator.py
├── cutoff_report.py
├── report_exporter.py
│
├── input/
│   ├── students.csv
│   └── branches.csv
│
├── allotment.csv
├── cutoff_report.csv
├── utilization_report.csv
└── README.md

Architecture

students.csv
        ↓
load_students()

branches.csv
        ↓
load_branches()

Allocation Engine
        ↓
Seat Allocation

        ↓

allotment.csv
cutoff_report.csv
utilization_report.csv

Supported Reservation Types

Category Reservation

  • OPEN
  • OBC
  • SC
  • ST
  • EWS

Quota Types

  • HS (Home State)
  • OS (Other State)

Female Reservation

Supports:

  • HS_OPEN_F

  • HS_OBC_F

  • HS_SC_F

  • HS_ST_F

  • HS_EWS_F

  • OS_OPEN_F

  • OS_OBC_F

  • OS_SC_F

  • OS_ST_F

  • OS_EWS_F


Input Format

students.csv

name,rank,category,state,gender,choices
Priya Sharma,850,OBC,ASSAM,F,NIT Trichy_CSE>NIT Surathkal_CSE>NIT Warangal_CSE

branches.csv

college,branch,state,...
NIT Trichy,CSE,TAMIL NADU,...
NIT Warangal,CSE,TELANGANA,...

Output Files

allotment.csv

Contains final seat allotment information.

Columns:

  • Name
  • Rank
  • Branch
  • Quota

cutoff_report.csv

Contains branch-wise closing ranks.

Columns:

  • College
  • Branch
  • Quota
  • Closing Rank

utilization_report.csv

Contains seat utilization statistics.

Columns:

  • College
  • Branch
  • Quota
  • Filled Seats
  • Total Seats
  • Vacant Seats

Example Features Implemented

  • Rank sorting
  • Branch preference processing
  • Dynamic seat matrix
  • Female reservation logic
  • Closing rank computation
  • Seat utilization analytics
  • CSV import and export

Scale Tested

  • 25000 students
  • 150–200 branch entries
  • Multiple institutes
  • Large preference lists

Future Improvements

  • Multi-round counselling
  • Freeze / Float / Slide options
  • Vacancy matrix generation
  • PwD reservation support
  • Graphical interface
  • Web API support

Technologies Used

  • Python
  • OOP
  • CSV
  • Dictionaries
  • Sorting
  • File Handling

Author

Shashank Chimote

B.Tech Data Science, NIT Jalandhar

GitHub: https://github.com/shashankchimote

About

Python-based counselling and seat allocation engine supporting HS/OS quotas, category reservation, female reservation, and CSV-based analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages