Where muscle meets math. This web app’s primary function is to be a BMI tracker for astronauts. Outer space has a lot of undesirable impacts on the human body such as bone loss. Bone loss remains a big concern for space travellers as their bone mass tends to decrease by about 1% a year, the equivalent to victims of osteoporosis in a single year. In addition to astronauts, tracking changing body mass is a way to determine an earthling's possible health concerns.
What it does
A user can input a history of their weight and height to get a visual representation of the changes in BMI over time.
How we built it
This project has been built with the help of online resource guides and videos. We used Charts.js, GoogleSheetsAPI, etc.
First, we set up the web server using mongodb and node.js.
As our team was unfamiliar with manipulating API’s and web development in general, our main focus was to figure out how to get BMI data on the backend and then present it onto our web server. Narrowing our goal down helped us focus on our desired functionality of our web app, to track body mass data.
Challenges: You are in charge.
In school, we are constrained by a variety of factors including industry protocols and those schooled with experience. During this hackathon and attempt to build a website, our team was given free reign, a strikingly different undertaking to school. This ambiguity made this task a challenge since we had to define what we were capable of doing, given our lack of expertise and also the overwhelming amount of API’s we had to select from.
Accomplishments: Have we really been doing much? Learning instead of reinventing the wheel.
The design of this website enlightened us to the vast array of resources available on the internet. We expected to do more in terms of coding the project, but have learned that these open source resources can reduce your workload tremendously (well, at least once you figure out how to use them). Nevertheless, even though we questioned if we did much work at all, this is untrue. Our team persisted and kept motivated to make a strong effort towards acquiring more knowledge on manipulating API’s and coding in pug instead of html. By the end, we were surprised at how it was possible to pull together a website in about 24 hours!
What we learned
- What pug is.
- You can convert html to pug.
- Google has a lot of APIs!
- How to create routes/pages + How to use Web API's (document.getElementByID)
- How to get user input and export it to a .csv and .txt file.
- How to display .csv data onto a graph
- How to create many types of graphs
- How to issue GET and POST requests with Express.js
- How to fetch data from APIs
What's next for Muscle Math
Introducing some fun functionalities and possibility using machine learning to make future estimates on the BMI of an astronaut!