As students, it can be difficult to form study groups due to scheduling conflicts, study habits, and lack of accessible locations on campus. Study groups are essential to fostering a positive learning environment where students can hear the perspectives of others, work together to manage stress, and build connections. Study preferences are also essential as some students prefer large groups while others prefer only one study partner. Students have different preferences on noise levels as well. These personal habits are something important to consider when making a study group, and can really help students thrive if their learning style is accommodated for.

Stoody matches students with others looking to study for the same course that have similar study preferences to them. Students provide Stoody with their Canvas API token and Stoody stores their course list, asks them for study preferences for each course, and stores it within a database of other students. It uses comparison methods to match students to those looking for similar study buddies and provides the emails of students they've matched with from most to least compatible. Furthermore, it utilizes their study preferences such as group size, noise level, and time of day to recommend study spots on campus for their study group to meet.

We used HTML and CSS for the front end and Flask to connect it to the python backend. We also utilized Firebase to create a database of student information such as their courses and course preferences.

We struggled with connecting the backend to the front end because we initially wanted to use JavaScript, but due to our FireBase implementation, we switched to python and had to learn Flask to connect our UI/UX. It had some different syntax including using get_url for methods as well as files. We also had to change the structure of our repository because Flask interacts with HTML/CSS files differently than JavaScript, so there was a bit of a learning curve.

We are proud of using Firebase to store user data. We were able to connect our HTML form to get user log in account data and user studying preferences data, then store it in Firebase to be able to access it multiple times. We are also proud of figuring out how to use Canvas API with user tokens to get their course information.

We learned how to use Firebase and integrate it to analyze our input data of user studying preferences to output matches of study spots and people to join their study group. We also learned how to use Flask in Python to integrate the frontend, which gets the user data, and the backend, which sends the data to Firebase and analyzes it.

We hope to improve the relevancy and specificity of study spots by asking users to fill out a survey of the study spot they are in. This will allow us to collect data on the business and noisiness of study spots to further cater towards our user’s preferences. We also hope to expand our website’s geographical scope to encompass public libraries and other schools. As our website expands, we would like to build a chat feature to allow users to connect with their study group matches on the same platform to improve usability as well.

Built With

Share this project:

Updates