https://aarora20.github.io/CalendarApp/
Develop a full-stack application that assists Waterloo students with course planning for upcoming semesters by preventing and detecting time conflicts, providing a calendar view of their schedule, along with functionality to share schedules with peers/friends.
Aryaman Arora, a96arora@uwaterloo.ca
Aryaman Dhillon, a38dhill@uwaterloo.ca
Cedric Wang, c689wang@uwaterloo.ca
Sachi Shah, s274shah@uwaterloo.ca
https://github.com/aarora20/CalendarApp/wiki/Project-Proposal
Install the client for your system in releases either Final_Release_Quest_Flow.dmg or Final_Release_Quest_Flow.msi
https://github.com/aarora20/CalendarApp/wiki/User-Guide
https://github.com/aarora20/CalendarApp/wiki/Instructions
https://github.com/aarora20/CalendarApp/wiki/Architecture
https://github.com/aarora20/CalendarApp/wiki/Reflection
https://github.com/aarora20/CalendarApp/wiki/Releases
The following links are sources that we used to build our project:
Calendar Layout: https://danielrampelt.com/blog/jetpack-compose-custom-schedule-layout-part-1/
- The logic for implementing the calendar layout including drawing each course to the right time.
Fuzzy String Searching: https://github.com/willowtreeapps/fuzzywuzzy-kotlin
- Originally, we were trying use this github library as an implementation dependency, but it turns out that the library was no longer maintained and the importing it was not an option. As such, we had to fork their repository to our own.
Drag and Drop: https://blog.canopas.com/android-drag-and-drop-ui-element-in-jetpack-compose-14922073b3f1
- The blog was used to help with implementing the drag and drop feature for our custom calendars.
OptaPlanner Logic: https://stackoverflow.com/questions/71572097/is-optaplanner-scheduling-ai-suitable-for-optimising-a-college-schedule
- The StackOverflow post was used to help use implementing the constraints for our course schedule optimization where the hard constraint was no overlapping courses, the medium constraint was minimize working days and the soft constraint was minimizing gaps between courses on the same day.
For any inquiries, please email calendarappgcp@gmail.com or any of the team members.