Inspiration

Our main inspiration was school discussion boards, where some questions are so good, they might as well end up in an exam. We wanted an app that would allow us to transform the most popular questions and answers into study cards. Furthermore, we thought that finding study groups is difficult ever since school came back in person. We wanted a way for students to share their knowledge and upon each other's ideas to generate insightful questions. This thinking process would encourage learning and gaining a deeper knowledge of the material.

What it does

Through discussion forums, users are able to ask and answer questions, as well for votes for the best questions and answers. They are able to create study cards inspired by these questions and answers, edit them, and use them to study. Within their study groups or courses, they can also study using cards which are born through their collaboration. A key functionality of the app is the quizzing system. Using their own study cards, the ones in their courses or the ones in their study groups, students can track their progress through regular quizzes and get feedback using their success rate.

How we built it

Our project employs the MVC (Model View Controller) architecture. To store our data, we used a MySQL database hosted on our own server. Using Node.js and Express.js, we built a REST API to query our database. For our front-end, we used Next.js and React.js.

Challenges we ran into

Overall, this project was ambitious, especially considering that our team is only composed of two students. We had to make sure to only include the most important features such that ended up with a working prototype/MVP (Minimum Viable Product). This is why not all of our ideas are completely implemented, but only have some sort of skeleton or "base" idea which would then be built upon.

Accomplishments that we're proud of

We're proud of having worked on an ambitious full-stack project, for which we used technologies that we were not completely familiar with (ex: MySQL and web development in general for one of us), which challenged us in many ways.

What we learned

We learned how crucial it is to have a good game plan before delving into development. Thanks to our thorough preparation (making a UML model to visualize our associations, sketching the relational database, our use cases, the endpoints we wanted to implement, etc.), we were able to have a clear vision of what we wanted our MVP to achieve.

What's next for StudyGroup

The next big thing for StudyGroup would be to implement the functionalities we did not have time to implement. Namely, user login, quizzes, study sets, study groups, etc.

Built With

Share this project:

Updates