I was grocery shopping and just froze; I had no idea what I needed to buy. I was never a big fan of writing down notes, or grocery lists, especially when there were a lot of things I needed to buy or keep track of. I ended up buying a duplicate of something I already had at home and felt pretty bummed out that I didn't have more variety when I cooked.
What it does
FoodBuddy provides a platform to easily keep track of all your foods and their expiration dates. Users can take pictures of their foods, set an expiration date and watch FoodBuddy take care of the rest. The app automatically calculates the days left before users' foods expire and displays that information visually with images of the food and a unique expiration bar so users' don't have to scroll through walls of text and calculate the expiration dates on their own.
How I built it
I built this app with Xcode and swift. I had a vision for my app before I built it and played around with the different tools that xcode offered with their user interface for the visuals. As for the logic, I took bits and pieces from the answers I found online to produce a final solution that could work for my specific project.
Challenges I ran into
I ran into a lot of frustrating problems in the process of building this app. From learning how to deal with images in Core Data, to figuring out how to create a visual health bar to track expiration dates, and lastly, to the most frustrating issue, banging my head on how to create a collection view inside a tableview cell without any lag when scrolling through the tableview.
Accomplishments that I'm proud of
I'm proud of figuring out how to implement my visual expiration bars without any online tutorial. I had no clue on how to implement them in the beginning and couldn't find any solutions online, but by playing around with the resources I had, I slowly pieced things together and found a solution that worked. Although the expiration bar was tough, I'm most proud of myself for figuring out how to implement my collection views within the table view cells. I spent a week working on the collection view, building it many times over and over again in different ways and becoming more bitter with every attempt. At the end of the week however, I discovered the solution myself and now I'll always remember how to implement it. Im proud that I was able to persevere through my frustration and bitterness even though there were many times I just wanted to give up on that feature.
What I learned
Building this app taught me a lot about how to use Core Data, collection views, app architecture and how to work with lots of images without lag. Aside from the technical side, I also learned how to be more resourceful in finding my resources online and relying less on other people. However, I also learned to set aside my ego and bitterness when the best choice is to ask a peer or mentor on how to implement something I don't know how to do or find.
What's next for FoodBuddy
In the future, I hope to recreate FoodBuddy to be able to have shared lists between multiple people. I want to change the storage system from CoreData to FireBase to make the app more effective and useful.