Inspiration

I was inspired to make a Collaborative Grocery app when I was out shopping at a Galleria Asian Market. I was looking through some of the Ponzu sauce, and I couldn't remember if we still had some at home. I texted my family's group chat, but no one responded. By the time I got into my car, I finally got a reply (which was way too late). Hopefully, with this app, managing family/friend groceries will be an easy task.

What it does

As of right now, it's primarily a barcode lookup app. You can scan any food-related barcode, and information on a form will be automatically filled out depending on what you scanned.

How I built it

This was built using Android Studio and Kotlin. I attended one of the project planning workshops, and the mentor mentioned needing to obtain "MVP" or "minimum viable product". Rather than focus on what I wanted to do most, I worked on the core components of the app starting from adding the camera and then ending with adding a little to the look of the app.

Challenges I ran into

A lot of choices needed to be made quickly. This was the fastest I've ever had to code (and it was really fun). I took a look at the CameraX codelab, and this was a great place to start. Google's ML Kit Barcode Scanner API was also very nice to use. I ran into a problem where I refactored all the camera and barcode code from my Activity into a Fragment, and I was lost with where to put everything. Some fragment stuff was deprecated, and I also had to grab stuff from my Activity to make everything work.

I also spent a lot of time learning how to use Retrofit to grab data from Edamam's food base API. I ran into a bug mentioning that my "Moshi" converter was trying to grab an array when I should actually be looking for an object. I ended up searching around, and I was blessed by StackOverflow. Also, RecyclerViews are pretty tough!

Accomplishments that I'm proud of

I'm very proud of how much I've accomplished over the weekend. I've been wanting to start this project for the longest time, so just being able to get past that hurdle feels amazing.

What I learned

I learned a lot about Retrofit, Moshi, Edamam (and APIs in general), CameraX, MLKit Barcode Scanning, and Android Studio. In Android

What's next for Collaborative Grocery List

I definitely am going to work on the "Collaborative" part of this app because that seems like it's going to be the most fun. I plan on testing out either AWS or Google's Firebase for storing all the data. I also plan on cleaning the UI/UX design since it feels a bit wonky. The social aspect of the app will hopefully grow with user's being able to add each other.

Overall, thank you so much for the amazing opportunity, and I can't wait until my next hackathon.

Built With

Share this project:

Updates