Inspiration
Being broke college students, it can be hard to find the cheapest prices for food, and it can be even harder to allocate the time to go grocery shopping. An app that tells you the cheapest prices and where to go saves a lot of time and energy.
What it does
GroceryGetter takes in a grocery list from the client and uses the names of the items to look up the cheapest prices at three widely used grocery chains: Target, Kroger, and Trader Joe's. First we aggregate local grocery data including average costs of requested items. Based on this data we calculate median prices of the most matched results and compare the prices. It will then curate a shopping list for each store (if a store has items that are requested), ordering by cost. The application then calculates the shortest routes from your current location to each corresponding store, saving time and gas money.
How we built it
We used TypeScript and NodeJS for the backend and Flutter for the front-end.
Challenges we ran into
It was a huge challenge to find and understand APIs for several grocery stores -- many turned out to require payment, and other's simply not available to the public. Not to mention it was a bit of a learning curve to understand how to aggregate so many different api calls. Additionally, we were using technologies where either one or the other wasn't familiar with, such as Flutter, Typescript, Figma, and Docker is some sense. At first, we tried to run the project using Docker, and this gave us several errors because we had no experience using or setting up a typescript project. This resulted in Nodemon issues with docker and typescript compilation complications with docker as well.
Accomplishments that we're proud of
Building a full stack mobile application using Flutter was a big accomplishment for us. There were a lot of unknowns going into the project and we are happy with how everything turned out and how much we were able to learn in such a short amount of time. I think another big think we are proud of is simply the usability of the app. I know that we are both excited to be able to use our app for our selves.
What we learned
We learned many new lessons and technologies in this 24 hour sprint, whether it was completely learning a new framework like Flutter, or learning to not overcomplicate things like we did when attempting to dockerize our typescript backend. One of the biggest things we learned was how to work fast and efficiently for hours on end. We really pushed ourselves for our very first hackathon and learned more than we could ever imagine.
What's next for GroceryGetter
To the moon! In a literal sense, we would like to deploy the backend and publish the app on the App Store. Additionally, we would integrate more grocery stores and reach out to companies who require applications to apply for an api key.
Built With
- axios
- dart
- docker
- figma
- flutter
- google-directions
- google-places
- kroger-api
- node.js
- npm
- target-api
- traderjoes-api
- typescript
Log in or sign up for Devpost to join the conversation.