Skip to content

This is a college Time Table scheduler project build in spring boot using Optaplanner Constraint solver.

Notifications You must be signed in to change notification settings

amit-maurya-507464/college-time-table-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

College Time Table Scheduler

This is a college Time Table scheduler project build in spring boot using Optaplanner Constraint solver.

Technologies used

  1. java
  2. Spring Boot
  3. Optaplanner
  4. Hibernate
  5. H2 Database
  6. Html
  7. Css
  8. JavaScript
  9. Bootstrap

Running and Testing

IDE: Open project in any IDE and run as a spring boot Project.
Command line: Open terminal and locate to pom.xml file directory and type command - mvn dpring-boot:run

Use the following url to test the Application: http://localhost:8080

Dependencies

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.optaplanner</groupId>
  <artifactId>optaplanner-spring-boot-starter</artifactId>
</dependency>

<!-- Testing -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.optaplanner</groupId>
  <artifactId>optaplanner-test</artifactId>
  <scope>test</scope>
</dependency>

<!-- UI -->
<dependency>
  <groupId>org.webjars</groupId>
  <artifactId>webjars-locator</artifactId>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.webjars</groupId>
  <artifactId>bootstrap</artifactId>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.webjars</groupId>
  <artifactId>font-awesome</artifactId>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.webjars</groupId>
  <artifactId>momentjs</artifactId>
  <scope>runtime</scope>
</dependency>

User Interface

Home Page home.png

Constraints contraints.png

Add Lesson add-lesson.png

Add Room add-room.png

Add Timeslot add-timeslot.png

Result by class byClass.png

Result by Room byRoom.png

Result by Teacher byTeacher.png

Usage

After running the application go to home page. There you can see a lot of predefined classes. We can add or remove classes according to our need. click on solve button to solve create schedule. Constraints result will show have many soft or hard rules have been broken.

Configuration

The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
optaplanner.solver.termination.spent-limit=30s

For selecting data set (possible values = LARGE, SMALL) for no default data set to "NONE"
timeTable.demoData = LARGE

About

This is a college Time Table scheduler project build in spring boot using Optaplanner Constraint solver.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published