Description
The placement season is just about to begin at IIITD, and the placement cell needs a portal “FutureBuilder” to conduct the placement drive. You are supposed to create a portal to be used by the students of the institute by which they can apply to the companies. You have to use various concepts covered in class till lecture-3 to design this system. The application needs to serve the following requirements:-
- 1) The placement cell opens company registrations, following which students register for companies they are interested in.
- 2) A student can register for a company if they meet the following criteria –
- a) If not placed yet and is eligible.
- b) CGPA of the student >= minimum CGPA criteria of the company
- c) CTC offered by the company >= 3 * highest CTC currently held by the student
For example – a student has received an offer from a company ‘A’ with a CTC Rs. x, now this student can only register for a company ‘B’ if it offers a CTC >= 3*x, and also satisfies the CGPA criteria set by the company.
- 3) Once the company receives all the registrations, it selects some students out of the ones who applied (a company has to select at least one student; students can be picked randomly for this question).
- 4) The selected students have the option to accept or reject the offer.
- 5) If a student accepts an offer, the status of that student should be marked as offered and should not be allowed to sit in any further processes (unless the student satisfies criteria 2(b) and 2(c)).
- 6) If a not yet placed student rejects all the available offers at any point, then the student status should be marked as blocked and shouldn’t be allowed to participate further.
- 7) A company can register only once.NOTE: if a student gets selected in more than 1 company simultaneously, the student will get the offer with a higher package.
You have to implement this system which should have the following functionalities.
Student Functionalities
1. Register For Placement Drive:- the student should be able to register for the placement drive and have the following details –
a. Name b. Roll No. c. CGPA d. Branch
- Register For Company – An eligible student should be able to register for an available company and status should be changed to applied. By default the status should be “not-applied”.
- Get All available companies – Print all the companies and its details where the student can apply for. If a student doesn’t meet the criteria for sitting in further processes, print unavailable.
- Get Current Status – print the status of the student, whether blocked, offered, un-offered. If the student is offered, print the company from which the student got the offer from and its details.
- Update CGPA – the student should give the older CGPA and the new updated CGPA to the institute placement cell. The CGPA should be updated by the placement cell only.
- Accept / Reject offer – the student has a choice to accept / reject the latest offer available to him/her
Institute-Placement Cell Functionalities
- Open Student Registrations – print that institute is open for student-registrations for the placement drive. Also set a deadline till when the students can apply. It should have a start and end date-time.
NOTE: registrations for students can’t open before company registrations end. - Open Company Registrations – print that the institute is open for company registrations for the placements. Also, set a deadline for the companies can register. It should have a start and end date and time.NOTE: you will need to maintain the date-time as an attribute of a company when it registers for placement process to check whether or not the company has applied before the deadline.
- Get Number of Student Registrations – print the number of students registered for the placement drive.
- Get Number of Company Registrations – print the number of companies registered for the placement drive.
- Get Number of Placed/UnPlaced/Blocked Students – print number of offered students with their details.
Note: an unplaced student who rejects all available offers at any instant is blocked from placement cycle - Get Student Details – it takes in the name and roll number of the student and prints details of the participation in the placement drive (details of the companies applied for and didn’t apply for. Also print whether the student was offered by the company or not).
- Get Company Details – it takes in the name of the company and prints the details of the company. Also print the names and roll no. of the students if the company has offered any student.
- Get Average Package: print the average package offered to the students of the institute.
- Get Company Process Results:- In this query, the company should send in a list of all the students they have selected to the cell. Take the company name as input in this case.
Company Functionalities
1. RegisterToInstituteDrive – to register for an institute’s placement drive you need to add following information.
- Name of the company
- Role a company offers
- Package being offered by the company
- CGPA criteria
- Registration date-time (when company registers for the placement process)
Once registered you should print registered on the console.
NOTE:- you are not required to register a company for multiple roles. For simplicity assume one company offers one type of role only.
- Get Selected Students – get all the selected students of the campus who will be offered. Print the names and details of the students (such as email ID, roll no, etc. )
- Update Role/Package/CGPA criteria – using these options, the company can set the role and package and the CGPA criteria.
For the demo of the working of the application, you are expected to add at least 1 company and 3 students. There should be different modes where you should be able to operate the portal.
- The Application should start when you type in “Enter FutureBuilder”
- On Entering we should get the following options
- Student mode: type 1 to switch to student mode where you perform only student queries.NOTE:- you will be asked 3 options to choose in student mode(as given in the
test case). You can perform queries once student objects are created.
- Institute Placement Cell mode: type 2 to switch to placement cell mode where you perform only placement cell queries.
- Company mode : type 3 to switch to company mode where you perform only company queries.
- Type 4 to return back to the main application
- Student mode: type 1 to switch to student mode where you perform only student queries.NOTE:- you will be asked 3 options to choose in student mode(as given in the
- The Application should stop when you type in “Exit FutureBuilder”
NOTE: No other mode queries should be made once you enter into a particular mode. For example if you enter student mode, you should not perform any queries apart from student queries without switching the mode.
Input:-
Welcome to FutureBuilder:
- 1) Enter the Application
- 2) Exit the Application
1
Choose The mode you want to Enter in:-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
3
Welcome to IIITD Placement Cell
- 1) Open Student Registrations
- 2) Open Company Registrations
- 3) Get Number of Student Registrations
- 4) Get Number of Company Registrations
- 5) Get Number of Offered/Unoffered/Blocked Students
- 6) Get Student Details
- 7) Get Company Details
- 8) Get Average Package
- 9) Get Company Process Results
- 10) Back
2
Fill in the details:-
- 1) Set the Opening time for company registrations
- 2) Set the Closing time for company registrations
18th September 2022, 17:00 PM 18th September 2022, 17:02 PM
10
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
2
Choose the Company Query to perform-
- 1) Add Company and Details
- 2) Choose Company
- 3) Get Available Companies
- 4) Back
1
GooFlix // name
SDE // role
60 // CTC (in LPA)
9 // minimum CGPA requirement
Choose the Company Query to perform-
- 1) Add Company and Details
- 2) Choose Company
- 3) Get Available Companies
- 4) Back
2
Choose To enter into mode of Available Companies:- 1) GooFlix
1
Welcome GooFlix
- 1) Update Role
- 2) Update Package
- 3) Update CGPA criteria
- 4) Register To Institute Drive
- 5) Back
1
Hardware
Welcome GooFlix
- 1) Update Role
- 2) Update Package
- 3) Update CGPA criteria
- 4) Register To Institute Drive
- 5) Back
2
70 // CTC in LPA
Welcome GooFlix
- 1) Update Role
- 2) Update Package
- 3) Update CGPA criteria
- 4) Register To Institute Drive
- 5) Back
Welcome GooFlix
- 1) Update Role
- 2) Update Package
- 3) Update CGPA criteria
- 4) Register To Institute Drive
- 5) Back
5
Choose the Company Query to perform-
- 1) Add Company and Details
- 2) Choose Company
- 3) Get Available Companies
- 4) Back
4
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
3
Welcome IIITD Placement Cell
- 1) Open Student Registrations
- 2) Open Company Registrations
- 3) Get Number of Student Registrations
- 4) Get Number of Company Registrations
- 5) Get Number of Offered/Unoffered/Blocked Students
- 6) Get Student Details
- 7) Get Company Details
- 8) Get Average Package
- 9) Get Company Process Results
10) Back
1
Fill in the details:-
- 1) Set the Opening time for Student registrations
- 2) Set the Ending time for Student registrations.
18th September 2022, 17:04 PM 18th September 2022, 17:06 PM
10
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
1
Choose the Student Query to perform-
- 1) Enter as a Student(Give Student Name, and Roll No.)
- 2) Add students
- 3) Back
2
Number of students to add
3
Please add students Name, Roll No, CGPA, Branch(in order):
Smarthak Gupta 2029043
9.17
CSAM
Bohit Mansal 2029141 8.79
CSE
Itachi Uchiha 2029236
9.96 CSAI
Choose the Student Query to perform-
- 1) Enter as a Student(Give Student Name, and Roll No.)
- 2) Add students
- 3) Back
1 Smarthak Gupta 2029043 Welcome Smarthak!!
1) 2) 3) 4) 5) 6) 7) 8)
List of 1)
Register For Placement Drive Register For Company
Get All available companies Get Current Status
Update CGPA Accept offer Reject offer Back
All available companies is as follows: CompanyName: GooFlix
Company role offering: Hardware Company Package: 70 LPA Company CGPA criteria: 9
3
1
18th September 2022, 17:05 PM // registration date-time
Smarthak Registered for the Placement Drive at IIITD!!!! Your details are:
Name: Smarthak Gupta
RollNo: 2029043
CGPA: 9.17 Branch: CSAM
Welcome Smarthak!!
- 1) Register For Placement Drive
- 2) Register For Company
- 3) Get All available companies
- 4) Get Current Status
- 5) Update CGPA
- 6) Accept offer
- 7) Reject offer
- 8) Back
2 GooFlix
Successfully Registered for Hardware Role at GooFlix!!!!
Welcome Smarthak!!
- 1) Register For Placement Drive
- 2) Register For Company
- 3) Get All available companies
- 4) Get Current Status
- 5) Update CGPA
- 6) Accept offer
- 7) Reject offer
- 8) Back
8
Choose the Student Query to perform-
- 1) Enter as a Student(Give Student Name, and Roll No.)
- 2) Add students
- 3) Back
3
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
3
Welcome IIITD Placement Cell
- 1) Open Student Registrations
- 2) Open Company Registrations
- 3) Get Number of Student Registrations
- 4) Get Number of Company Registrations
- 5) Get Number of Offered/Unoffered/Blocked Students
- 6) Get Student Details
- 7) Get Company Details
- 8) Get Average Package
- 9) Get Company Process Results
- 10) Back
9 GooFlix
Following are the students selected- 1) Name: Smarthak Gupta
RollNo: 2029043 CGPA: 9.17 Branch: CSAM
Welcome IIITD Placement Cell
- 1) Open Student Registrations
- 2) Open Company Registrations
- 3) Get Number of Student Registrations
- 4) Get Number of Company Registrations
- 5) Get Number of Offered/Unoffered/Blocked Students
- 6) Get Student Details
- 7) Get Company Details
- 8) Get Average Package
- 9) Get Results
- 10) Back
10
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
1
Choose the Student Query to perform-
- 1) Enter as a Student(Give Student Name, and Roll No.)
- 2) Add students
- 3) Back
1 Smarthak Gupta 2029043
Welcome Smarthak!!
- 1) Register For Placement Drive
- 2) Register For Company
- 3) Get All available companies
- 4) Get Current Status
- 5) Update CGPA
- 6) Accept offer
- 7) Reject offer
- 8) Back
4
You have been offered by GooFlix!! Please accept the offer.
Welcome Smarthak!!
- 1) Register For Placement Drive
- 2) Register For Company
- 3) Get All available companies
- 4) Get Current Status
- 5) Update CGPA
- 6) Accept offer
- 7) Reject offer
- 8) Back
6
Congratulations Smarthak!!! You have accepted the offer by GooFlix!! 8
Choose the Student Query to perform-
- 1) Enter as a Student(Give Student Name, and Roll No.)
- 2) Add students
- 3) Back
3
Choose The mode you want to Enter in-
- 1) Enter as Student Mode
- 2) Enter as Company Mode
- 3) Enter as Placement Cell Mode
- 4) Return To Main Application
4
Welcome to FutureBuilder:
- 1) Enter the Application
- 2) Exit the Application
2
Thanks For Using FutureBuilder!!!!!! ____________________________________________________________________________






