Inspiration
Professor Fodor from Stony Brook University has an office hour line that is like the largest priority queue in the world. We agreed upon the use of a greedy algorithm that would help scheduling, so we aim to make a web application to improve this problem.
What it does
It allows users to display their free time with a description. Other users can schedule to join a particular time interval. The user can view recommended schedule that maximized the number of visitor in the free time. The scheduler will group visitors by objective to calculate the weight of each interval, then use the greedy algorithm to maximize each weighted time interval.
How we built it
We used the most comfortable technology Java to build this. Slow(using Google App Engine), but reliable.
Challenges we ran into
We made some mistakes in decision. For example, we started with Python, but poor documentation and poor IDE support led to the use of Java. Another decision was to use Google App Engine's Datastore instead of trying the AWS MariaDB, because we are more familiar to SQL than Datastore.
Accomplishments that we're proud of
We actually deployed an app even with all those poor decisions. We just had trouble connecting the frontend and back-end.
What we learned
We learned the importance of decision, especially in a fast pace development. Switching technology in the mid-way really hurt.
What's next for Room Filler - Solution to Office Hour Madness
Potential improvements:
- Better web page design.
- Use AWS to improve speed.
- Fix some situations where the same user keep scheduling to increase the weight of a certain topic.
- Make the schedule interaction to be double clicking the table instead of doing form submission.
Built With
- bootstrap
- css3
- datastore
- google-app-engine
- html5
- java
- javascript
- jquery
- modified-greedy-algorithm-earliest-deadline-first
- spring-mvc
Log in or sign up for Devpost to join the conversation.