User Manual

Setting Up the Project

Software requirement:

NOTE:

Ensure Python3 in installed in your system. In case both version of python in installed then use python3 in place of python. Otherwise, if python3 is default then use python. Also use pip ot pip3 accordingly

Either install all python dependencies using requirment.txt :-

pip3 install -r requirements.txt

OR, Install the all python dependencies one by one :-

sudo apt-get install python3-tk
python3 main.py
pip3 install xlwt
pip3 install xlsxwriter
pip3 install xlrd
pip3 install openpyxl
pip3 install ezodf
pip3 install python-docx
pip3 install tkscrolledframe

Following document are required for a smooth functioning of the applicaion.

  1. Elective docs files (need to be save in src/data/basket_elective_docs. Any other location wont be considered.)
  2. A file for the courselist i.e all the courses with their respective course code and faculty list being offered in a given semester for the various batches need to be stored (the file has to save in “src/data” in ods format having the name as Courselist.ods, failing to do so will lead to unpredictable malfuntions.)
  3. In case of any change in the classroom they need to be saved in the prog3.py file at the location progs/prog3.py. To get detailed steps refer to FAQ in the end of the this page.
  4. Create a folder in src/tmp with the name baskets.
  5. Follow the step of working with Landing GUI to initialise the required state for working of the application.

Working in Landing GUI

  1. To open the window run the following code in cmd (Windows) or terminal (Linux)
python main.py

NOTE: In case you use python3 to use python3 version then run python3 main3.py

_images/GUI0_main.png
  1. Click on Initialise to make all the required file. Wait till the window shown below appears.
_images/GUI0_main_1.png
  1. The window have all the course which has multiple professor. By default the first professor is assumed as the main professor. To change that you can edit them in src/tmp/baskets/course_faculty_optional.xlsx

Working in GUI #1

Steps

_images/GUI1_main.png
  1. To open the window run the following code in cmd (Windows) or terminal (Linux)
python main.py

and then click on the Time Table Button.

NOTE: In case you use python3 to use python3 version then run python3 main3.py

  1. Select the slots from drop down
  • The window opens up as a seperate pop up
_images/GUI1_main.png
  • Mouse over the desired block and click on it to view the slots
_images/GUI1_main_1.png

Anamolies Management

Case 1

  • Selecting of more than four slots
_images/GUI1_1_1.png
  • Error notice view
_images/GUI1_1_2.png

Case 2

  • Selecting more than one occasions for one slot in a day
_images/GUI1_2_1.png
  • Error notice view
_images/GUI1_2_2.png

Working in GUI #2

Steps

_images/GUI2_main.png
  1. To open the window run the following code in cmd (Windows) or terminal (Linux)
python main.py

and then click on the Slot Selection Button.

NOTE: In case you use python3 to use python3 version then run python3 main3.py

  1. Select the slots from drop down
  • The window opens up as a seperate pop up. Click on the Start button
_images/GUI2_main.png
  • The application will automatically upload all the concerned
_images/GUI2_main_1.png
  • Select the basket you want to work upon
_images/GUI2_main_2.png
  • The window will get the informations about the basket including the baskets
_images/GUI2_main_3.png
  • Click on the slot selection dropdown corresponding to the course.
_images/GUI2_main_4.png
  • Select any one of the slots as per the constraint.
_images/GUI2_main_5.png

Anamolies Management

Case 1

  • Selecting same slots for two courses in the same basket
_images/GUI2_1_1.png
  • Error notice view
_images/GUI2_1_2.png

Case 2

  • Selecting same slots for a prof in two basket
_images/GUI2_2_1.png
  • Error notice view
_images/GUI2_2_2.png

Working in GUI #3

Steps

_images/GUI3_main.png
  1. To open the window run the following code in cmd (Windows) or terminal (Linux)
python main.py

and then click on the Class Selection Button.

NOTE: In case you use python3 to use python3 version then run python3 main3.py

  1. Select the Classrooms
  • The window opens up as a seperate pop up. Click on the Start button.
_images/GUI3_main.png
  • The data would be loaded in the background and select Slot button would appear.
_images/GUI3_main_1.png
  • Select one of the slot to work upon by selecting from the dropdown.
_images/GUI3_main_2.png
  • All the courses with that slot assigned will appear.
_images/GUI3_main_3.png
  • Click on the dropdown button wo select any one one of the class
_images/GUI3_main_4.png
  • Selected Classroom will we registered. Save on all the courses being assigned a classroom.
_images/GUI3_main_5.png

Anamolies Management

Case 1

  • Selecting same slots for two courses in the same basket
_images/GUI3_1_1.png
  • Error notice view
_images/GUI3_1_2.png

FAQs

1. How to include new classroom into the application?

Follow the following steps to include new classrooms into the application:

  1. Open the file prog3.py from the location progs/prog3.py.
  2. Find a list of classes defined by the variable “classes”.
  3. Modify the classlist with the new entries while removing the ones not required(if any).
  4. Save the changes.

2. What is the flow of work in the application?

Any client is expected to follow the following workflow while operatiing this application.

  1. After following the steps defined in the Getting Started section, Move to the main GUI.
  2. Folow the steps in main GUI opeations.
  3. Operation in the applicaion should be done in the way that all the courses should be allocated slots, before the classrom are given.

3. How to add a new basket after initialisation is already done?

Follow the following steps to make a new basket.

  1. Go to src/tmp/baskets/ and create a new excel sheet.
  2. Open any already created basket and use the same convention to make the new basket.
  3. Rename the new excel sheet as the basket name.
  • In case of elective name it as the minor it belong (Suggestion). The name should be unique.
  • In case of core course list, use the semester and branch to uniquely identify it.