CLOUD DATABASE SETUP
- setup an account at mlab.com
- in your dashboard, click creat new under MongoDB Deployments
- select amazon as your cloud provider and select sandbox as your plan type
- select US as your AWS region
- name your database, and submit your order
- in your dashboard, selet your newly created database
- click on users and add a user
- inside your .env file add: DB_USER=[username] DB_PASS=[password]
API key setup
- create a Google API key
- enable Google Places API Web Service
- enable Google Maps Geocoding API
- enable Google Maps JavaScript API
- inside Credentials, select the api key
- select HTTP referrers (web sites) under Application Restrictions
- add the following urls to Accept requests from these HTTP referrers (web sites) (Optional): *127.0.0.1:1337 frozen-beach-49440.herokuapp.com
- inside of your .env file add: GOOGLE_API_KEY=[api key]
- inside of map.jsx insert your API key as a string on line 86
OAuth 2.0 client ID#
This is necessary to enable Google sign-in
- create a client ID from console.developers.google.com for OAuth 2.0 client IDs https://developers.google.com/identity/sign-in/web/devconsole-project is a helpful tutorial
- set the GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and LOCAL_GOOGLE_REDIRECT variables in your .env file these three variables are all accessed in server/index.js when the GoogleStrategy is defined for passport
- pay attention to step 5 in the tutorial above: you must authorize separate redirect urls for testing on your local machine and the deployed website
HELPFUL RESOURCES
AXIOS https://github.com/axios/axios EXPRESS https://expressjs.com/ GOOGLE MAPS API REFERS https://techjourney.net/google-maps-api-referrer-not-allowed-error/ MATERIAL-UI http://www.material-ui.com/#/ MONGOOSE http://mongoosejs.com/docs/index.html PASSPORT http://www.passportjs.org/docs REACT https://reactjs.org/docs/components-and-props.html WEBPACK https://webpack.js.org/
Next Steps
Implement recommended restaurants based on user history server/handleRestaurants has a recommendSearchDataByHistory function that returns suggested search parameters based on historical user input this could be used to display recommended searches on the homepage
Implement continued user interaction after results are displayed clicking a restaurant on the results page could show a restaurant's menu, direct to the restaurant's webpage, etc.
Create user profiles users could view past search parameters and restaurants
Flesh out user creation signup could require an email address dual password input on user signup to prevent typos there is currently nothing preventing a blank password