Frugal Foods is a bargain grocery shopping application. The user is met at the homescreen with a zipcode search, where they will enter their zipcode and search stores nearest to them. This prototype currently has two zipcodes available for demo: '80108' and '80206' and will only return stores under the Target and Kroger store portfolio. They are able to then select stores they want to shop at and POST those stores to our BE server to be associated with their user ID. All FE endpoints are utilizing GraphQL Apollo client for communication to our Back End server. From this point the user is able to search for specific grocery items from the stores they've selected and compare prices to find the most affordable option. The user can then add a grocery item to their "cart," where they will see a detailed list of what they're purchasing broken down by store. Additionally, there will be a sum total for what they will spend at each store. Items are also able to be deleted from the cart and update the quantity of each item. Visit our deployed webpage below to check it out!
User can search by zipcode (for ex.'80108') and select their chosen stores. Then search for items and add items to cart with a quantity:
User can then view items added to their cart that are separated out by which store the items are located at and the total price for each store. The user can then update quantity and delete items from cart.
Frugal Foods is the capstone project built during a two week timeframe during Turing School of Software and Design front-end and back-end engineering program. The goals of this group project were to:
- Gain exposure working on a full stack team and focus on communication between front-end and back-end teams
- Teach ourselves a new technology (we chose GraphQL for both the FE and BE teams)
- Achieve >80% test coverage on the Front End application utilizing Cypress to create a smooth user experience
- Use an agile process to turn well defined requirements into deployed and production ready software and hold daily standups and weekly retros
- Implement continuous integration tools to build and automate the deployment of features such as CircleCI, Fly.io, and Heroku
- Build application that meets our MVP(minimum viable product) and execute in development, test, CI, and production environments
You can find both the FE repository and BE repository in the Frugal Foods organization.
-
Clone both repos, making sure to add them to their own directories
git clone [email protected]:Frugal-Foods/frugal-foods-fe.git
-
Install NPM packages:
npm install npm start
-
Explore the website at
https://localhost:3000
!
View the README in the back end repository for further setup instructions.
- Due to rate limiting for free usage of both the Target and Kroger APIs, our prototype only includes data from two zipcodes. Our goal moving forward to make this application more dynamic is to make live API calls to return data for any user in any zipcode.
- Implement authentication, allowing a user to create an account and have their popular stores and items remembered
- Implement 'shop by department' feature that allows user to browse all products for a store along with the ability to search for a specific item.
- Collect data for other popular grocery stores to allow the user more options when choosing stores near them.
- Implement 'cheapest in one stop' feature that allows a user to search all items on their grocery list and see which store would have the cheapest total if they only wanted to stop at one store.
- Implement a Google maps feature that creates a driving route for the user depending on which stores were chosen and their respective addresses.
Front End Team:
- Danielle Sweeny - LinkedIn | GitHub
- Nicole Forseth - LinkedIn | GitHub
- Derek Cooper - LinkedIn | GitHub
Back End Team: