What it does

  • Home: Describes the purpose of the application as well as how to use it.
  • Calendar: Provides overview of tests, quizzes, reading, essays, and homework for a student and creates a timeline of upcoming events.
  • To-do List: Allows for viewing upcoming assignments and listing them as completed or not completed(a virtual agenda)
  • Workout Schedule: Provides curated workouts based on upcoming school assignments to enable students to follow a manageable workout schedule.
  • Food Recommendations: Suggests personalized and informative lists of healthy foods customized for upcoming school assignments.

How we built it

We used HTML/CSS/JS to create our frontend user interface, and XMLHttpRequests to communicate with the backend, created using Python and managed using the Flask framework. Events were managed and saved using the events.csv file, which stored an assignment’s name, date, type of assignment, and whether or not the assignment was completed. We compiled information concerning a student’s health, suggested workouts and foods through research online(which can be viewed at research.md), and, through the research, found quantifiable ways to increase the probability of a student being able to remain consistent with working out through compensating for potential conflicts between school work and long workouts.

Challenges we ran into

Throughout the creation of this web app we ran into several issues, one being primarily in general the concept of putting an idea to code and making it happen. It took several hours to come up with a cohesive plan as to how exactly the user interface could be the most intuitive and efficient for the user, as well as how to implement a framework by which each page within the app would look cohesive and connected; we accomplished this using a universal style sheet(universal.css) with a color palette used for several different aspects of the web app.

Accomplishments that we're proud of

Our goal was purely to create a web app that we could imagine would better not only our own everyday lives but others around us. We identified a major global problem that resonated with us - the discrepancy between school health and a student’s well-being - and took steps through our web app to accomplish that. Regardless of the recognition this web app does or does not get, we’re proud to have created a web app that we will genuinely use in our everyday lives. We learned a lot about using multiple languages and combining the features that come with them, as well as simply the application of these conceptual ideas to real applications.

What we learned

Of the many concepts we learned over the creation of this web app, one of the most important was how to make a Web API using the Flask framework in Python. Using Flask to create a full working web app was a new experience for all of us, and it was really interesting to look into how these amazing technologies can be integrated together, with Flask and XMLHttpRequests and direct JavaScript and HTML integration through methods such as query selectors. Through numerous articles that went over the syntax, functionality, and applications of Flask, we were able to create a working backend by which we could form our frontend framework. Ultimately we learned a lot about the application of documentation and tools to our specific problem. Stylizing the pages using CSS, for example, conceptually appears a very simple concept; however, making different elements and styles work in conjunction with one another for a multitude of different window sizes proved to be a very difficult task without the use of any external CSS libraries or frameworks.

What's next for StudentFit

There are several ways StudentFit could be improved. Adding an importance feature would allow users to rank their assignments, sorting assignments by date or class, providing more diversity in the workout schedule, creating a greater level of customizability through the collection of user data that could impact their workouts or eating habits(their gender, initial activity levels, and more), or the ability to log in or sign up to allow for multiple users could potentially enhance StudentFit’s current functionality.

Built With

Share this project: