A clone of numerous websites for finding random places to eat around you!
You can view a demo of the site at: Eat-Out Heroku
- Clone the repository using
git - Get a zomato developer key from Zomato Developer API
- export the zomato developer key as
ZOMATO_KEYvariable - Get a Google JavaScript API developer key
- export it as
MAP_KEYvariable - For running development version of the site which first builds then starts a nodemon and watch server, run:
grunt - For building production (minified and uglified assets) do:
grunt build, exportNODE_ENVto production, and start the server yourself usingnpm start
I personally don't inject watch scripts and use the chrome extension for reloading the page. If you don't prefer the extension then
please add the script livereload.js so that the page can reload on change. More info here:-
grunt-watch Live Reloading
If you don't want to watch for changes, then you can build manually and start the server yourself:
- css using
grunt sass - js using
grunt browserify - start server using either of
node app/app.jsornpm startthe latter runs the former command :D
There are two major parts to any webdev project - client side and server side
Under the app folder app.js and zomato.js are server side scripts. app.js is responsible for creating the server and handling
requests while zomato.js is responsible for quering Zomato API and getting the relevant data.
The client side assets are under app/static folder. Whenever you run grunt, grunt sass, or grunt browserify only the build happens without any minification or uglification and the results are put in app/dev folder. This folder is used then the app is run in
development mode.
When you do grunt build then minified and uglified assets are places in app/public folder which is used by the app when it is run
in production mode.
Until you manually export NODE_ENV to production, the app will keep using assets from app/dev folder.
- Running
gruntwill automatically setNODE_ENVto development for envify - Running
grunt buildwill automatically setNODE_ENVto production for envify (Required for minifying react scripts)
Please feel free to send pull requests
- Nodejs
- Expressjs
- React
- Scss
- Grunt
- Actually random results
- Add tests