Inspiration
We were inspired by the education track, since finding new and easy ways to study is something we all benefit from.
What it does
Our webapp accepts user-inputted text, like from a textbook, and automatically generates flash cards to help the user study. Users can create secure accounts on the server and store their generated card sets. The project stores user data in a cloud-hosted database and queries the OpenAI API to analyze and generate text.
How we built it
We started with the node.js starter kit provided to hackers. We then began creating the pages required for the project and building in interactivity using Express. We built and connected a cloud-hosted MongoDB database to store user data. Finally, we connected the webapp to OpenAI's API to send user input to GPT-4o mini, which read in the user input as a prompt and generated JSON which we converted into flash cards.
Challenges we ran into
We ran into many challenges as we worked on this project. The starter kit we used is a bit outdated which created problems finding high quality information resources and connecting with other services. We stumbled a number of times using git, and had to claw ourselves out of a few merge conflicts. While some of us had some webdev experience, to others JavaScript was brand new, and it took a lot of figuring out.
Accomplishments that we're proud of
Most of what we worked in was new to the majority of our team and we're all proud of how much we learned. In the end, we were able to create and connect our database to store and populate the data for our site. Using pug files was a first for our team, but we found them very useful for displaying the dynamic data and were able to complete basic styling for our pages.
What we learned
Since so many of the languages and features of our page were areas of limited experience, we each learned a great deal about different aspects of development. Learning the syntax for pug files and how the views worked was incredibly helpful and will likely be useful in our future careers. We also learned the best ways to create database entries, how to establish relationships between entities and the importance of ensuring variables stay consistent.
What's next for StudEBuddy
In the future, we'd like to add the ability to extract text from an image and generate study guides to test students' comprehension of the content. Allowing students' to test their understanding and track their progress as they continue studying, has always been a long-term goal for our team. There are many small, functionality pieces didn't have time to develop, including a calendar to input test dates which will provide reminders during the week before to start studying
Built With
- express.js
- git
- mongodb
- mongoose
- node.js
- openai
- pug
Log in or sign up for Devpost to join the conversation.