Inspiration
The community calendar is inspired by the needs of the Cornerstone organization here at UT Arlington. Cornerstone holds daily events, and a major problem that comes with that is scheduling. They not only have problems with filling time slots with the preferences of volunteers and workers in mind, but also wish to provide an equal amount of male and female workers time slots. This application seeks to provide a convenient and efficient method of solving that problem.
What it does
The bot is backed by an underlying algorithm that takes in a collection of workers'/volunteers' preferred schedules and outputs an ideal schedule, that would allow every registered individual to participate equally. The bot takes in the each person's preferred schedule. Then, the ideal master schedule is produced in a PDF format.
How we built it
The application uses several tools. The underlying algorithm was prototyped using python and developed using .NET. NodeJS was extensively used to also add much more functionality to our application. Node was used to produce PDFs of schedules using JSON objects. For the slackbot integration, the Slack API, NodeJS and MongoDB was used to integrate the application's back end and the slack interface.
Challenges we ran into
The algorithm used to output master schedules was written and rewritten several times, before finally reaching its current iteration. Most of our efforts were used to implement and utilize that algorithm to produce realistic and favorable results. Unfortunately, no team member had any experience with slack development. The application front end through slack was especially hard to develop, and we did not manage to successfully integrate slack and the back end fully.
Accomplishments that we're proud of
The underlying process that supports this project, the algorithm, is extremely efficient. Although it does have more iterations to go through, we believe that it produces very appealing results in an incredibly efficient manner.
What we learned
Utilize the strengths of your teammates. Unfortunately, a large part of our project relied on something we had no experience in, slack development. But, several of us learned many new and foreign technologies, increasing our skills as developers and engineers.
What's next for Community Scheduler
Full integration and release into production. We hope that this application will be used, soon. We began creating this project, fully intending it to be used for Cornerstone, and possibly a general audience as well.
Log in or sign up for Devpost to join the conversation.