/recommendation-app

Primary LanguageJavaScriptMIT LicenseMIT

Build Status Stories in Ready

Restaurant Recommendation Web App

Proof of concept web app that recommends local restaurants to users. Powering this is a custom recommendation engine that takes a user's historical choices into account in its machine learning algorithm.

The frontend is built in React, and the server is built in Node/Express. Firebase is used for user and user data storage.

Getting Started

After cloning the repo to your system, running npm run dev will install dependencies, then start the Webpack Dev Server with a bundle that features live incremental builds. Navigate to http://localhost:8080 to see the web app in development.

Development & Scripts

The development environment for this repo is using Node 6.0.0 and npm 3.8.6.

If node and npm are not installed on your system, it is recommended to install nvm to switch between versions.

Edit files in ./app/ folder, this is the entry point for the Webpack bundle. Built bundle will be written to ./dist folder.

If any changes need to be made to the main html wrapper at ./index.html, they will be copied to the ./dist folder on build.

Start development server with live Webpack incremental builds:

npm run serve

Start production server and build Webpack bundle:

npm run serve:dist

Start production server only:

npm start

Start dev server from fresh state with install:

npm run dev

Simulate Heroku deployment behavior with fresh install and build:

npm run prod

Run Mocha/Chai Unit Tests:

npm run mocha

To run tests continuously:

npm run mocha:watch

Run ESLint:

npm run lint

Run both unit tests and linting:

npm test

Deployment

Merges to master branch are automatically deployed on Heroku at https://yelp-rec.herokuapp.com/. Travis CI is implemented in the deployment workflow.

Built With

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details