Inspiration

As students, we've all felt the same frustration. You go to your professor, hoping that they can answer your burning question, but office hours are too crowded! Or maybe all available office hours conflict with your extracurricular responsibilities. For many students, private tutoring is not an option even when they are struggling due to the steep cost. With StudySwap, we hope to give more students the oppertunity to excell and help others do the same.

What it does

StudySwap asks the students to input the courses that they feel confident in, and the students are free to submit requests for the courses they want some extra help in. Volunteers who don't mind helping students without getting tutored themselves are also welcome. Our algorithm matches students based on their strong and weak subjects to facilitate a peer tutoring exchange. When they are matched, the students are notified via email. If the students are not matched immediately, they are free to check out our resources page which compiles some free resources provided to all UBCV students.

How we built it

We used JavaScript, node.js, and express.js for the backend development, and followed RESTful api to connect our frontend and backend environment. Our frontend used a mixture of CSS, html, and JavaScript to achieve its sleek look.

Challenges we ran into

As our team was comprised of beginners, it was very challenging to learn JavaScript as we went along the fast pace of the hackathon. We also ran into a lot of trouble managing the frontend to backend communications. Through the generous help of the mentors and our team's commitment, we were able to push through these difficulties!

Accomplishments that we're proud of

We ran into a particularly confusing bug, where the frontend environment was clearly posting user input into a json file yet the backend was receiving nothing. After the hours of debugging, we successfully got a connection between the frontend and backend so that a user's email and and password was stored in firebase! We were also able to pass the uuid of the user to the frontend so that the web application could use it to access the user data. As unorthodox as the solution was, it worked for our purpose!

What we learned

We learned the value of dividing up work efficiently and keeping our scope in check. We wasted some time thinking over design decisions that just did not apply to our small scale project and some more time trying to figure out who should be doing what task. From this experience, we are certain that our next hackathon will lead to even more successful projects.

What's next for StudySwap

We had a lot of stretch goals we hoped to achieve! We initially brainstoremd for features such as student.ubc.ca email verification, chat feature, report feature, endorsements and honour badge feature, and grade verification for the students who wants to teach courses. Additionally, a logistical

Share this project:

Updates