Opinionated curated list of good food available around your neighbourhood.
Works best on a mobile! FoodFinder
Please use https since we use the GeoLocation API
- Ensure, location access is allowed on your phone or browser
- From home screen, get recommendations on restaurants nearby. Clicking on a card, provides more details. Get directions opens up google maps if on an android phone.
- One cannot add reviews unless signed in. Follow the signin/signup process to authenticate yourself.
- Once signed in, add review button is enabled. Add a review!
- Clone this repository. App was last tested on
Node v9.3.0 - Keys and Credentials:
2.1. Firebase for backend authentication and as database. Do get the required keys from Firebase.
Because of firebase, we don't need a schema prepared beforehand. However, the design for reviews follows a simple pattern like
your-firebase-database
--reviews
--restaurant1
--restaurant2
-LongKey1
created: "2018-03-17T21:15:00+08:00"
restaurantId: "island-creamery-singapore"
review: "The good stuff"
username: "monkey"
-LongKey2
created: "2018-03-17T21:15:48+08:00"
restaurantId: "island-creamery-singapore"
review: "Rum and Beer flavours!"
username: "getnpk"
Firebase Database Rules
{
"rules": {
".read": true,
".write": "auth != null"
}
}
2.2. Yelp API for nearby business based on location from Yelp Developers
- Populate contents of
src/config.jsonwith above data. For example:
{
"firebase": {
"apiKey": "apiKey",
"authDomain": "authDomain",
"databaseURL": "https://database-url.firebaseio.com",
"projectId": "projectId",
"storageBucket": "bucket.appspot.com",
"messagingSenderId": "9999999999"
},
"yelp": {
"authorization": "Bearer VeryLongKeyHere",
"baseUrl": "https://api.yelp.com/v3/businesses/search"
}
}
- Run
npm run dev. Good to go!
- Set up Heroku toolchain Toolchain
- Use a git branch called
herokuspecifically for Heroku deployments - Changes to be made on
herokubranch
3.1. Remove /dist/ from .gitignore. We need this folder to be deployed
3.2. src/config.json is to be commited unlike in master branch
heroku login- Set up a heroku project and point heroku to that project
heroku git:remote --app <YOUR-PROJECT-NAME-HERE>For example,git remote -vnow shows you:
heroku https://git.heroku.com/food-finder-earth.git (fetch)
heroku https://git.heroku.com/food-finder-earth.git (push)
At this stage, ensure master has all the changes you need to push to production.
-
Checkout
herokubranch withgit checkout heroku -
Rebase
herokuwithmasterwithgit pull --rebase origin master -
Build for production with
npm run build. This step will update ourdistfolder with latest changes. -
Add all changes and commit with a version
git add -A
git commit -m "Deploy version 1.0.2"
- Finally deploy to heroku
git push heroku heroku:master --force
- Done!
Can consider automating above steps by a simple shell script and or using Travis-Heroku-Specific-Branch to deploy a specific branch to Heroku.
This project was built with guide and docs for vue-loader.










