Inspiration 🌟

Course enrolment is stressful 😥, and picking the right courses is even harder. 😓

Just this semester we have hit waitlists 🚫, financial deadlines 💸, and missed lectures 📚 trying to figure out what course to enrol in. It's also hard to find help when you're taking a course. We wanted to create a website 💻 to crowdsource information about courses to remove a stress from a student's life 😌 and to connect them with those who have completed the course. 🙌

What it does 🚀

We built a website that crowdsources reviews of courses from different post-secondary institutions. 🏫 Students review courses they've taken and provide metrics on different aspects such as reading 📖, writing 📝, and presentations 🎤. Optionally, students can add their emails 📧 if they're willing to be contacted about the course in the future. Additionally, we ask that they submit details on the assessments about the course so we know how grades are weighted. 📈

How we built it 🔧

We used MongoDB search indexes to index the course codes and titles. This allows us to autocomplete and suggest courses based on what the user typed into the search box. 🔎 All functions relating to MongoDB went through our FastAPI backend, which is hosted on Render after being containerized. 🐳

The frontend was built using Angular.js. 🅰️

Challenges we ran into 🤯

MongoDB's autocomplete schema was confusing and combining different criteria proved challenging. Often, requests would respond empty, or with long error traces. 🐛 We also encountered an issue with FastAPI where if we returned the ID of the object, the server would fault. 💥

Accomplishments that we're proud of 🏆

The autocomplete works well and fast. ⚡

What we learned 🧠

We learned how to create search indexes and do autocomplete in search boxes. 🙃 Some of our team members learned how to push content on Github. 🐙

What's next for CourSavvy 🚗

We'd like to add user authentication so they can save details and modify their reviews. 🔐 We'd like to add a chatbot for student to have access to courses suggestions. 🤖

Built With

Share this project:

Updates