Inspiration

Traditionally, group study sessions have been held in-person or hosted on platforms such as Discord. However, these methods are incredibly limiting in when and how sessions can be hosted, not to mention distracting. We decided that the perfect solution would be a website that allows students to easily find or create study groups (called Squares) for any topic they are interested in, and jump in immediately.

What it does

The purpose of StudySquare is to provide a centralized platform for students to find and join study groups. Collaborative studying in group settings enhances the quality of student education through mutual support and accountability amongst peers. StudySquare seeks to bring this learning-conducive environment, usually limited to in-person settings, into the digital space, making it accessible to students from the comfort of their own homes.

With or without an account, students can find live Squares posted on StudySquare by searching for keywords like subjects or course names. They can read through previews and descriptions for results, and upon finding a suitable study group, join with a single click. Should users choose to sign up, they can save quick-search hotkeys to index Squares, making using the site even easier. Signed-in users are also able to track their Square sessions with a Statistics page built into the website.

How we built it

We made the website using Flask and Django to create a lightweight and powerful backend supporting the front end, which used Bootstrap and our own CSS modifications. Additionally, since there are accounts and data involved we used cs50 and SQLite to connect to our database. For security purposes, we used FlaskWTF to create CSRF tokens and prevent cross-site request forgery, as well as industry-standard encryption techniques to ensure users have a secure and worry-free experience. Finally, to host the website, we used a Linux SSH server, where we had to setup the domain, NGINX server, and SSL certificate.

Challenges we ran into

On the frontend, getting the right colors and fonts to create an unobtrusive but practical layout was a challenge. On the backend, a challenging aspect was the accounts, squares, and time tracking, which required a well set-up SQL database and date/timezone python libraries.

Accomplishments that we're proud of

We are very proud of our UI system which has easy to use features, intuitive layout, aesthetically pleasing colors, and is also not distracting.

What we learned

We learned how to use Bootstrap to create beautiful UIs, as well as how to integrate frontend with backend to make features work seamlessly. Also, we learned how to plan an app to create a solid foundation for development.

What's next for StudySquare

  • Study time breakup/break reminder (Pomodoro method, etc).
  • Using the Google Meet REST API to integrate creating a Square into the website itself.
  • UI refinements post release.
  • Translation of the website into different languages.
  • File sharing (class materials or review sheets).

AI images used for asset generation

Share this project:

Updates