A Java + HTML, CSS and Javascript application to find optimal time schedule of lectures, maintaining the constraints of professor's availability. The application consists of three codebases:-
- A java based web server(backend) that contains the genetic time scheduling algorithm,
- UI(frontend) written in HTML, CSS and Javascript that displays the time table and communicates using REST API endpoints,
Source repository: https://github.com/Super7000/Sem_Time_Table_Designer, - A CEF based custom browser written in java to display the UI without browser restrictions,
Source repository: https://github.com/srideep-banerjee/TTSBrowserComponent.
Step 1:
First Fork this repositories:
Time-Table-Creator-ReactJS (UI)
TTSBrowserComponent (Browser Component)
TimeTableScheduler-Backend (Bankend Java Code)
Step 2: Then use Intellij IDEA or any other framework to build a jar file of the TTSBrowserComponent.
Step 3: Then copy the jar file of TTSBrowserComponent to Forked TimeTableScheduler-Backend's main directory.
Step 4:
Now open forked Time-Table-Creator-ReactJS and build the product using command like npm run build
Step 5:
Then Copy the build product to TimeTableScheduler-Backend's web
directory. (If web directory is not present in TimeTableScheduler-Backend then create one)
Step 6:
Now you just need to run the TimeTableScheduler-Backend's main.java
file using Intellij IDEA or any code editor or framework.
Hard (Mandatory) Constraints include :
- One practical subject class per week
- All teachers alloted within availability
- Subjects alloted their required no. of lectures in all sections
- Practical subjects not allocated same room at same time
- Two teachers not teaching a semester-section same subject (theory only)
- Two teachers/subject not at a semester-section at same time (theory only)
- Teachers only teaching one semster-section at a time
- Practical subjects assigned consecutive periods
- Practical teachers must be available during all practical subjects
- All teachers assigned atleast one subject in a section class
- All teachers get assigned subjects known to them
- Theory teachers also teaching practical
- Teachers count for practical class equals lecture count
Soft (Preffered) Constraints include :
- Practical Lab in end of second half