Savor is a web application, or a meal-planning platform that takes in filters such as family size, dietary preferences, and budget, to formulate a grocery list that plans one’s weekly meal plan. It maximizes each ingredient purchased by the consumer by using increments of each item purchased in multiple recipes.
Front-end: React.js, Gatsby.js, Bootstrap
Backend: Firebase
- Built-in OAuth for Google Authentication
- Database: NoSQL
- User information: Budget, family size, dietary preferences
- Recipes: dietary restrictions, estimated price, ingredients, etc.
Wireframes: https://www.figma.com/file/6tiVlv90DcKcGK322zEiJz/Savor
- clone this repo. run
git clone https://github.com/Yunhan0816/Savor.git
- Go into your cloned directory
- run
npm install
- run
gatsby develop
- go to localhost:8000 on your web browser.
- run
gatsby build
- run
firebase deploy
- go to the url
https://savor-3e31c.web.app
- HTML/CSS gets inconsistent when you resize the window.
- The live website
https://savor-3e31c.web.app
is not as up-to-date as the local version. The database on the live website does not work because Gatsby and Firebase does not work well together but there is a workaround that we did not have time to implement. Locally, everything works.
- Add more bootstrap responsive classes to fit different sized devices
- To solve the bug of updating deployed site, follow the instructions in the following links: gatsbyjs/gatsby#6386, https://www.gatsbyjs.com/docs/debugging-html-builds/.
- After successfully run
gatsby build
, runfirebase deploy
and all the updated build file will be displayed on the live site.
- After cloning the repo, run
npm install
to install all packages.