<commit_before>![Restaurant Reviewer](https://github.com/RyanCCollins/cdn/blob/master/restaurant-reviewer/main.jpg?raw=true)


## Restaurant Reviewer

A proof of concept restaurant review application built with a focus on accessibility. 

Accesses JSON served from a [Ruby on Rails API](https://github.com/RyanCCollins/restaurant-reviewer-api) containing restaurant information (including name, a photograph, address, cuisine type and operating hours) as well as JSON containing review information for each restaurant (name of reviewer, date of review, 5-star rating and comments). Includes an application header, and a menu providing multiple ways to filter the restaurants (by cuisine, by location, etc). When viewing a specific restaurant, current reviews are displayed along with a form for the user to submit their own review.

## UX & Accessibility Features
This app integrates [grommet](https://github.com/grommet/grommet), the world's most advanced UX framework.  It implements many accessibility best practices, including the usage of skip links, proper focus handling, aria attributes, and many others.  

### Getting Started
The application requires npm v3.8.8 and node v4.2.4.  Errors may occur if you are using other versions.  For details on setting node and npm permissions and using node version manager to install specific node versions, please see [this gist](https://gist.github.com/RyanCCollins/69443f0ff1f7725d305d).

### Installing

To install the dependencies, run
```
npm run setup
```
Then run
```
npm run start
```

The project uses the [Scalable React Boilerplate Project](https://github.com/RyanCCollins/scalable-react-boilerplate), so please reference it for more useful scripts.

## Built With
- [React](https://facebook.github.io/react/)
- [Redux](http://redux.js.org/docs/introduction/)
- [Grommet](http://grommet.io)
- [Scalable React Boilerplate](https://github.com/RyanCCollins/scalable-react-boilerplate)
- [CSS Modules](https://github.com/css-modules/css-modules)

## Authors
* **<NAME>**

## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

## Troubleshooting
If you run into troubles installing the app's dependencies, you should ensure that you are using the following NPM and Node versions.
```
  "node": "4.2.4",
  "npm": "3.8.8"
```

[NVM](https://github.com/creationix/nvm) can be used to change your NodeJS version.

If you are on windows and the install, or any other scripts fail, you can try to install Webpack and Webpack Dev Server globally
```
npm install -g webpack webpack-dev-server
```

and then run the app with the following command:
```
webpack-dev-server
```

## Screen Shots
![Main Page](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/mainpage.png?raw=true)
![Single Restaurant](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/singlerestaurantmain.png?raw=true)
![Reviews](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/reviews.png?raw=true)
<commit_msg>Docs: update readme.md file with install instructions<commit_after>![Restaurant Reviewer](https://github.com/RyanCCollins/cdn/blob/master/restaurant-reviewer/main.jpg?raw=true)


## Restaurant Reviewer

A proof of concept restaurant review application built with a focus on accessibility. 

Accesses JSON served from a [Ruby on Rails API](https://github.com/RyanCCollins/restaurant-reviewer-api) containing restaurant information (including name, a photograph, address, cuisine type and operating hours) as well as JSON containing review information for each restaurant (name of reviewer, date of review, 5-star rating and comments). Includes an application header, and a menu providing multiple ways to filter the restaurants (by cuisine, by location, etc). When viewing a specific restaurant, current reviews are displayed along with a form for the user to submit their own review.

## UX & Accessibility Features
This app integrates [grommet](https://github.com/grommet/grommet), the world's most advanced UX framework.  It implements many accessibility best practices, including the usage of skip links, proper focus handling, aria attributes, and many others.  

### Getting Started
The application requires npm v3.8.8 and node v4.2.4.  Errors may occur if you are using other versions.  For details on setting node and npm permissions and using node version manager to install specific node versions, please see [this gist](https://gist.github.com/RyanCCollins/69443f0ff1f7725d305d).

### Installing

To install the dependencies, run
```
npm run setup
```

In order for the app to be built, it needs the following packages installed globally:
```
npm install -g webpack webpack-dev-server
```

These can be installed with one of the npm scripts: `npm run install-globals`

To get the app running after install, run:
```
npm run start
```

The project uses the [Scalable React Boilerplate Project](https://github.com/RyanCCollins/scalable-react-boilerplate), so please reference it for more useful scripts.

## Built With
- [React](https://facebook.github.io/react/)
- [Redux](http://redux.js.org/docs/introduction/)
- [Grommet](http://grommet.io)
- [Scalable React Boilerplate](https://github.com/RyanCCollins/scalable-react-boilerplate)
- [CSS Modules](https://github.com/css-modules/css-modules)

## Authors
* **<NAME>**

## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.

## Troubleshooting
If you run into troubles installing the app's dependencies, you should ensure that you are using the following NPM and Node versions.
```
  "node": "4.2.4",
  "npm": "3.8.8"
```

[NVM](https://github.com/creationix/nvm) can be used to change your NodeJS version.

If you are on windows and the install, or any other scripts fail, you can try to install Webpack and Webpack Dev Server globally
```
npm install -g webpack webpack-dev-server
```

and then run the app with the following command:
```
webpack-dev-server
```

## Screen Shots
![Main Page](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/mainpage.png?raw=true)
![Single Restaurant](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/singlerestaurantmain.png?raw=true)
![Reviews](https://github.com/RyanCCollins/cdn/blob/master/portfolio-image-gallery-images/restaurant-reviewer-swnd/reviews.png?raw=true)

{'fraction_non_alphanumeric': 0.10641532380662816, 'fraction_numerical': 0.0082091821222256, 'mean_word_length': 5.008219178082192, 'pattern_counts': {'":': 4, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 24, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3153059', 'n_tokens_mistral': 2003, 'n_tokens_neox': 1860, 'n_words': 669}