Inspiration
Currently our college uses a service called WhenToWork for shifts scheduling and management that has a high pricing and only three groups use it (DiSCO, IT Helpdesk, Library Circulation Desk). We wanted to create a software that would be able to offer affordable pricing and chance to all other campus job managers to manage their schedule using a software as opposed to creating shift schedule by hand.
What it does
SchedOle allows to have user accounts for employees that are assigned to a manager/employer account. Employees submit their availability by indicating the days of the week and times they are available to take shifts. Later on the manager is able to create shifts through out the week and assign each employee a value for maximal hours taken for a week and use the auto-scheduling option to assign a schedule in a way that all the employees get equal amount of hours and all the shifts are filled. Employees later can visit their home page and see to which shifts they are assigned to.
How we built it
Web Application was the most optimistic option for this solution. Therefore, we moved forward with creating an intuitive user interface using HTML5, CSS3, JavaScript, and jQuery. Bootstrap allowed us to create a dynamic website, so even though the base is web, it can be easily used on any mobile device. We have used PHP for the backend development given the limited time, as it allowed us to get the functionality of the website complete and secure. MySQL has been used to create, manage, and save databases. For the scheduling algorithm, it goes through all the shifts in the database that were created by the manager who is logged in and finds all the available employees that are assigned to that manager and are free to work based on their submitted availability. Than the algorithm picks the employees with the least ratio of current hours over maximum number of hours to ensure all the employees get similar amount of hours (and employees with significantly higher maximal weekly hours do not get most of the shifts). Afterwards if there are shifts that are not filled those are marked as priority shifts and the scheduling algorithm runs again and tries to fill these shifts first if that is possible.
Challenges we ran into
One of the greater challenges was the development of the scheduling algorithm, as our goal was to make sure that the employees get equally distributed hours of shifts depending on their availability and allowed maximum hours of work.
Accomplishments that we're proud of
The automatic scheduling algorithm tries to find a compatible schedule and if there are shifts that are not filled from the first time the algorithm rearranges itself to make sure to find the schedule where every shift is filled.
What we learned
Scheduling is a complicated process as there are numerous attributes that need to be encountered; however, during the hackathon, we have researched and learned about the techniques. Given more time, the algorithm might be upgraded to get better results; however, for a first beta product, SchedOle is a ready-to-go application.
What's next for SchedOle
Creating more functionality such as a trade-board system where employees are able to put their current shifts on the trade-board for others to pick up.
Log in or sign up for Devpost to join the conversation.