Inspiration
When we don't get classes with our friends at university, we feel disengaged and lonely. Its already quite difficult for university students to maintain friendships, especially when you aren't in the same classes, so we have created the solution!
What it does
This innovative program allows each student in a friend circle to input their availabilities and preferences into a simple to use GUI. The students also provide their unit code, which allows the software to obtain all the class times. With some magic (and code), it will present the best classes to pick so that the greatest number of friends are able to be together according to their preferences.
Development Process
GUI Our resident C# expert Allan Chan designed and created the interactive interface from scratch. He designed a way for the student inputs to be stored in its own database and interact with the Python backend. After the algorithm has processed the data, the GUI retrieves the data and outputs it in an intuitive manner on a simple-to-read timetable.
Backend Using Python, we designed a way to synthesise the student input into a manageable collection of availabities and preferences. We then parsed this information into the algorithm that provided the best classes which prioritised keeping all the friends together and matching the highest number of student preferences.
Challenges we ran into
1) Having the C# GUI interact with the Python backend. 2) Designing the algorithm to fairly calculate the required output. 3) Considering a lot of different situations friends can be in.
Accomplishments that we're proud of
1) Successfully finishing our first hackathon. 2) Successfully implementing the GUI and the Python backend. 3) Successfully using some Regexes, which we only learnt about last week.
What we learned
We learned how to create a functional program from start to end, with a working front-end and back-end. We also gained valuable skills in designing and creating within a team, including dividing the work, having regular team meetings and good commenting practices. We also gained substantial proficiency in the usage of Stackoverflow.
What's next for Friend+
1) Implemeting a smarter algorithm that splits the group into smaller groups to decrease a chance of a friend being by themselves. 2) Make the program interact with the university database in order to scrape the class times more efficiently. 3) Account for multiple classes at once.
Log in or sign up for Devpost to join the conversation.