Inspiration
A team member along with other friends have faced issues easily identifying what food items cause allergic reactions from them. Doctors also may have this issue if they cannot determine a specific allergy of a patient and may need them to track their diet for a period.
What it does
Our app allows users to track the food they've eaten and helps them identify potential causes of their allergic reactions. A user inputs the food item they have eaten (either through scanning product barcodes or manually entering recipe ingredients) and this is recorded on a log along with the date. On each food log entry, there is a checkbox for whether they have then had a negative reaction and started feeling ill after eating the product. If so, the ingredients of the product are analyzed to find a correlation with other foods that have resulted in a negative reaction to see if there are any shared ingredients. As the user scans more items, the app can narrow down which specific ingredients are the likeliest cause of the reaction.
How we built it
We made our wireframes and designed front end UI using AdobeXD. Android Studios was used for the main development of the app with Java being our core language. We used OpenFoodFactsAPI to get details about products via there barcode number. These barcode numbers were obtained through a third party API called code scanner. We stored a database on Cloud Firestore which contained all the details of each product and their ingredients.
Challenges we ran into
There were multiple issues with the database service we used and with limited experience, it was difficult to get around those since we were mostly unfamiliar with it however issues were fixed and we learnt from it :) There were also many UI formatting issues to get it to work across different phones and to achieve a responsive UI but again these were mostly solved.
Accomplishments that we're proud of
Getting out a finished product! It was very satisfying bringing everything together and seeing the algorithm work. The app achieves what we wanted it to do when we set out to make it and everyone had fun and is happy with the result :)
What we learned
We all gained experience with various front end and backend areas such as using new apis, understanding how to use firebase and formatting UI's nicely using xml in android studios. (Also learnt that Flutter was confusing and so we didn't touch it :( sad times)
What's next for PinPoint
Would be nice if we found time to develop it further as there are so many features we could add to it such as compiling the log into a textual report or thinking of a more novel way to display the pinpointed allergens. Maybe at a future hackathon we can pick it back up or just work on it as a side project to keep us on our toes at uni. Who knows? :)
Known bugs
When selecting/deselecting/deleting items in the food logs menu, changes only appear to be updated once. For example, if there are 3 items and you delete 2, only one will appear to be deleted and 2 will remain. However, if you refresh the page all items that were changed will be updated (instead of just 1 being deleted there will be 2 deleted with the example).
Built With
- adobe-xd
- android-studio
- firebase
- java
- open-food-facts-api
- xml
Log in or sign up for Devpost to join the conversation.