Inspiration
The science behind the process of learning has become more relevant in the past years. Recently, many people have explored the psychological concepts behind learning and retaining information, such as spacing or the forgetting curve. We were inspired by this science to create IntelliPrep, a smart tool that uses recommended study patterns and habits to create a customized study plan for users.
What it does
Although the website for IntelliPrep may seem simple, the processes implemented behind the scenes are quite complex. When the user inputs their class, test, and time availability information, the front-end client through frameworks such as React has to send GET and POST requests to our back-end server running through Flask, while also calling helper files to run the algorithm creating the study sessions.
The algorithm that we created takes into account the days until each test that the user has in addition to the priority (Low, Medium, or High) for each topic they are studying. It also takes into account the idea of reinforcing concepts after a certain amount of time before they are forgotten. The algorithm then outputs an optimized study plan for the user, which includes the start and end time of each study session on each day leading up to the exam, in addition to the topic that they are studying for each session.
How we built it
We used the flask framework to tie the frontend React with our backend python.
Challenges we ran into
One big challenge we faced was getting react and flask to connect together through GET and POST requests. It was difficult to use the built-in react functions to communicate with our flask server, so we ended up using a package called axios to manage communication between the server.
Another thing really challenging was integration between our algorithm and google calendar, because the Google Calendar API was confusing to implement at first and embedding a calendar with injected custom CSS was daunting.
Accomplishments that we're proud of
We are especially proud of the theming of the website between the CSS-style for the buttons, calendar, and forms. Furthermore, this was our first time creating a full-stack application with a front-end and back-end server, so we were really proud that we were able to seamlessly connect the two.
What we learned
Throughout our experience building IntelliPrep, we learned valuable information about creating websites through React and connecting the Google Calendar API to our application.
What's next for IntelliPrep
In the future, IntelliPrep will allow users to add more contextual elements that describe their classes and/or tests for a more specialized study plan.
Log in or sign up for Devpost to join the conversation.