<commit_before># TANDA Work Sample (Front-end) 

This is my attempt at the 'punctuality' work sample for TANDA. It uses a variety of modern front-end tech to deliver the requirements.

It has been built as a "Single Page App" (SPA) but could just be also integrated in to a more traditional web app.

#### Requirements to run:
* npm@
* sinatra@

#### Steps to get started
1. Install Sinatra: `gem install sinatra`
1. Install Sinatra-cross_origin: `gem install sinatra-cross_origin`
1. Install dependencies, in root directory run: `npm install`
1. Run the back end: `cd sinatra_web_server && ruby punctuality.rb`
1. Run the front end: `npm run dev`
1. Browse to [http://localhost:3000](http://localhost:3000)

#### Technology:
* React
* Redux
* Webpack
* React-router

#### Noteworthy packages used
* [react-redux-starter-kit](linkhere)
* [redux-api-middleware](linkhere)
* [react-bootstrap](linkhere)
* [react-bootstrap-table](linkhere)

#### Comments on Implementation
* explain the use of selectors
* extra functionality - bad data highlighted rows<commit_msg>Updated readme with some more info around packages etc.<commit_after># TANDA Work Sample (Front-end) 

This is my attempt at the 'punctuality' work sample for TANDA. It uses a variety of modern front-end tech to deliver the requirements.

It has been built as a "Single Page App" (SPA) but could just be also integrated in to a more traditional web app.

#### Requirements to run:
* npm @ at least 3.0.0 (tested with 3.3.12)
* sinatra @ at least 1.4.7 (tested with this)
* node @ at least 4.5.0 (tested with 5.5.0)

#### Steps to get started
1. Install Sinatra: `gem install sinatra`
1. Install Sinatra-cross_origin: `gem install sinatra-cross_origin`
1. Install dependencies, in root directory run: `npm install`
1. Run the back end: `cd sinatra_web_server && ruby punctuality.rb`
1. Run the front end: `npm run dev`
1. Browse to [http://localhost:3000](http://localhost:3000)

#### Technology:
* React
* Redux
* Webpack
* React-router

#### Noteworthy packages used
* [react-redux-starter-kit](https://github.com/davezuko/react-redux-starter-kit)
* [redux-api-middleware](https://github.com/agraboso/redux-api-middleware)
* [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap)
* [react-bootstrap-table](https://github.com/AllenFang/react-bootstrap-table)

#### Comments on Implementation
* explain the use of selectors
* extra functionality - bad data highlighted rows
{'fraction_non_alphanumeric': 0.1175990200081666, 'fraction_numerical': 0.01796651694569212, 'mean_word_length': 4.6192660550458715, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, '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': '1284406', 'n_tokens_mistral': 794, 'n_tokens_neox': 743, 'n_words': 282}