Inspiration
We, like others, found it tedious to enter our food information to track our nutrition information in apps such as MyPlate & MyFitnessPal. We wanted something easier to access for the consumer and who the information needs to be shared with, such as doctors and dietitians. That desire is what sparked the creation of Healthy Granola.
What it does
We built a basic app that allows the user to press a button, which then pulls up their webcam. Then, after the webcam is pulled up, they are given the option to to press a button to take a photo. This is to show the basis for a QR code scanner.
How we built it
The first thing we did when we got our idea was to determine how we are going to make it. Are we going to make it an app or a website? What language are we going to make it? We decided to make it an app as it would be simpler, and more convenient for people use than a website. Also since we want people to take pictures of their food and for it to recognize it and put in the nutrition values of the food in the app. The only way for people to take pictures of their food is through their phone so we decided to make it as a mobile app. We then researched how to make it and determined that we are going to use Python (since all of our group knows Python) and also make it in Visual Studio Code so we can collaborate. We then downloaded everything required for the project: Visual Studio Code, Python, Pip, and Kivy. Kivy was a python library that we found which helps you make an app. After we downloaded all of the requirements, we started the app. Our group split up the work so Ryan would work on the button to access the camera and Matt would work on the camera. When they both finished their tasks, we had to find a way to combine the two screens. We were having trouble doing that but we finally found out about a widget in Kivy named Screen Manager. With Screen Manager, it was possible to transition between different screens and after that discovery, we were able to combine the two screens. Little did we know, it was 1 AM and we were exhausted from a days long of work!
Challenges we ran into
We faced troubles with trying to install kivy, as it was not a very simple process. Especially, trying to get it to work inside of Visual Studio Code. After we got that working, we also faced troubles with trying to collaborate on the coding projects in Visual Studio Code. We had faced many bugs, making it troubling for us to start coding. After all that was said and done, we also faced the troubles of having to learn how to use kivy, and make it work for what we were trying to accomplish. Trying to use kivy to set up a webcam was also very troubling. The first thing we had to do was learn how to use the camera module in Kivy. Once we learned how to use the camera module and made script for the camera, we ran it. However, we ran into an error. We researched that error and ended up having to install opencv and after that, we got the camera to work!
Accomplishments that we're proud of
We are proud of the fact that were able to create a working camera using the kivy framework for mobile app development. We are also proud that we had learned how to create a button using kivy. Finally, that even after all of the troubles faced, we did not give up in the end.
What we learned
We learned how to more efficiently use Visual Studio Code. Also, how to install different python-based frameworks. We also learned how to use the kivy framework. Finally, we learned how to make a working camera using kivy.
What's next for Healthy Granola
For the future, we plan on making the app fully functional. Adding the option for people to enter their information so that they can get the best dietary advice possible. Along with allowing the option for a QR code scanner. This is so that the nutritional facts of each item of food could be taken. We also plan to add a dropdown menu for the number of servings that was had for each item. We can also see restaurant chains adopting our app and adding their food items to the database. Grocery stores would add barcodes for their customers to scan to their phones that registers the food to their tracker. And for the food we can’t be scanned, the restaurants could add these items to the said database that can be selected from a dropdown menu. As long as the idea becomes big enough for restaurant chains, and smaller restaurants to adopt this.
Built With
- kivy
- python
- vscode
Log in or sign up for Devpost to join the conversation.