We find that studying with other students is a highly effective method for understanding challenging concepts. We wanted an application to capture this collaborative experience for students who could not always meet up with their peers in person.

What it does

  • Allows users to connect and learn with other students from around the world with our live video chat and interactive sketch board

How we built it

We split our team up into smaller groups, and each team member took ownership of particular aspects of the project, such as the graphic display of friends. We built a full-stack web-application using React.JS for the frontend, Python Flask for the backend and PostgreSQL for the database. The drawing board was built using sockets, the video conferencing with CISCO's Webex API, and the graphical display of friends with Cytoscape.

We implemented

  • Finding and making friends with other users
  • A graphical view of a user's friends on their profile page
  • A live video conference page with a live drawing board
  • The ability for users to reward other users by sending them points after a helpful learning session. Points are in limited supply on the application, and these points rank users on the main dashboard page

Challenges we ran into

  • Our most challenging feature that we successfully implemented was the video chat
  • We tried to interface Thought Machine's vault to allow students to tip other students after every session. However, we ran into issues integrating the library, and pivoted to implementing our own transaction system.
  • Python dependency conflicts

Accomplishments that we're proud of

  • Integrating the CISCO Webex API to enhance the learning experience of our users
  • Completing a minimal viable product that can provide value to students

What we learned

  • We learned how to integrate CISCO's Webex API to incorporate live chat into web applications.

What's next for StudyBuddy?

If we were to extend this project further we would include:

  • Chats with more than two people at once to allow for group collaboration
  • A timetabling tool where students can schedule their video calls, and receive reminders of them
Share this project: