Skip to content

Repository for a Java-based project for simulating the practice school allotment system using multithreading for both students and administrator to participate in and conduct allotment rounds.

Notifications You must be signed in to change notification settings

yashpandey474/PS-Allotment-System-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS-Allotment-System-Project

Project Summary

This project aims to facilitate the student allotment process for Practice School. It provides a user interface where admistrators can register stations with specific branch preferences and total student space. Students can register themselves by giving a preference of stations and can view the available stations. The algorithm allots students to stations, giving preference to students with higher CGPA. Henceforth, students can view their allotments in the latest round; edit their preferences, accept allotment or exit from the process. Admins can manage student and station details and view latest allotments.

Program Flow

Initial Setup: The program starts by requesting input for default station details and normal station details. The user interface guides the administrator through the input process for stations and students, using GUI pages and boolean flags to ensure correct input.

Student Allotment Process: The program uses multithreading to handle the allotment process. An ArrayList of student threads is created based on the number of students inputted. These threads are then passed to a studentsStart object, which waits until the allottedFlag is set to true by the admin after each round of allotment. The studentsStart object runs each student thread sequentially, allowing for student interaction through GUI pages.

Program Flow: The program flow can be summarized as follows:

  1. Admin input default station details (ID, Company, Stipend, Location).
  2. Admin input normal station details (ID, Capacity, Courses, Branches). S Students input student details (ID, Name, CGPA, Branch, Courses, Preferences).
  3. Admin can view/edit station and student details before allotment.
  4. Admin initiates the first round of allotment.

Allotment process:

  1. Sort unallotted students by CGPA.
  2. Iterate over each student:
  3. Attempt to allot the student their first preference if criteria are met.
  4. If not, try subsequent preferences.
  5. If no preference can be allotted, assign the default allotment.
  6. Admin can view/edit station details and view student details after the first round of allotment.
  7. Admin decides whether to conduct more rounds or finalize the allotment.
  8. Students view their details and allotment.
  9. If more rounds are conducted, students can accept/reject the allotment or edit their preferences.
  10. The process continues with the Admin's homepage opening after each round, allowing for further rounds or finalization of the allotment.

About

Repository for a Java-based project for simulating the practice school allotment system using multithreading for both students and administrator to participate in and conduct allotment rounds.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages