Inspiration
Have you ever looked in your fridge and realized the milk you bought weeks ago has been hidden under a mountain of food and long past its expiry date? We find this problem very annoying, not to mention very harmful to the environment. Solving this problem is the inspiration behind this project. Our goal is to prevent unintentional wastage of food and to help each of us decrease our carbon footprint.
What it does
SustainaFridge allows users to scan their receipts or manually input the perishables they have purchased. The app will then keep track of the expected expiry date and will display the days remaining for each item to be in date. When an expiry date comes near and the user has not eaten the product, our app will notify them that they should consider using that product soon. The user can then mark that they have used the product and the app will remove it from the list of products. We hope that the notifications and the display of days remaining per product will increase our users' awareness of their perishables.
How we built it
We built this app purely in Android Studio with code in Java, Kotlin, and XML. We also utilized many public libraries such as the Google ML Kit for text recognition, Camerax, and the Calendar utility. For version control and collaboration, we used GitHub.
Challenges we ran into
Throughout the entire process, we struggled with passing data from one fragment to another in Android Studio. For example, the camera portion needs to communicate with the fridge portion to pass the items from the receipt to our database. This proved especially difficult as many of our variables and data structures would go out of scope when trying to target from another fragment.
Another important challenge we ran into was organization. Originally, we attempted to start with a multipage template on Android Studio. This was difficult since our variable/file names conflicted with the ones that were given to us from the template. This made our organization very difficult as we would have a random mix of names. We later fixed this issue by starting with a clean project and working from the ground up.
Accomplishments that we're proud of
We are very proud that we were able to incorporate a manual input system into our app. We used many data structures (such as a map, listview, arrays, etc), and extracting that information was difficult but we were able to accomplish it.
What we learned
We learned a great amount about Java, Kotlin, and XML through this project. Most of us had never interacted with these languages before and we have become much more comfortable with them throughout the project.
We also learned very important version control concepts and how to truly use GitHub to its fullest extent which will of course be crucial to our future careers.
What's next for SustanaFridge
SustanaFridge still needs to be polished and some features added to full capacity. For example, the implementation of the camera system would greatly improve ease of use and some basic UI beautification would also polish our product.
Built With
- android-studio
- camerax
- google-mlkit
- java
- kotlin
- xml
Log in or sign up for Devpost to join the conversation.