<commit_before>travi.org-admin
===============

[![Build Status](https://img.shields.io/circleci/project/travi/travi.org-admin.svg?style=flat)](https://circleci.com/gh/travi/travi.org-admin)
[![Coverage Status](http://img.shields.io/coveralls/travi/travi.org-admin.svg?style=flat)](https://coveralls.io/r/travi/travi.org-admin?branch=master)
[![Code Climate](http://img.shields.io/codeclimate/github/travi/travi.org-admin.svg?style=flat)](https://codeclimate.com/github/travi/travi.org-admin)
[![Dependency Status](http://img.shields.io/gemnasium/travi/travi.org-admin.svg?style=flat)](https://gemnasium.com/travi/travi.org-admin)

## Project Goals

I'm using this as an opportunity to learn how to apply a number of core concepts of web development to node. I want to find
an acceptable way to piece together `hapi` and `react` to support the following:

### Core Concepts

- [x] Universal Rendering
- [x] Progressive Enhancement
- [x] Package management of React components to share components with npm
- [ ] Intelligent management of client-side dependencies
    - [ ] Cut the Mustard
    - [ ] Progressive Enhancement based on browser capabilities
    - [ ] Lazy Loading
- [ ] Performance
- [ ] OpenID Authentication
- [x] Thin Hal Hypermedia client
- [ ] OAuth/Oz client
- [ ] API driven form validation
 
### Key Technology
- [x] [Hapi](https://hapijs.com)
- [x] [Traverson](https://github.com/basti1302/traverson) with the [HAL adapter](https://github.com/basti1302/traverson-hal)
- [x] [React](https://facebook.github.io/react/)
- [x] [React-router](https://github.com/rackt/react-router)
- [x] [Redux](http://rackt.org/redux/)
- [x] [Immutable.js](https://facebook.github.io/immutable-js/)
- [x] [React Storybook](https://github.com/kadirahq/react-storybook) ([View the demo](https://travi.github.io/travi.org-admin) site of the components)
- [ ] [Webpack](https://webpack.github.io/)
- [ ] [Pact Consumer](https://github.com/pact-foundation/grunt-pact)<commit_msg>storybook is no longer used directly by this project<commit_after>travi.org-admin
===============

[![Build Status](https://img.shields.io/circleci/project/travi/travi.org-admin.svg?style=flat)](https://circleci.com/gh/travi/travi.org-admin)
[![Coverage Status](http://img.shields.io/coveralls/travi/travi.org-admin.svg?style=flat)](https://coveralls.io/r/travi/travi.org-admin?branch=master)
[![Code Climate](http://img.shields.io/codeclimate/github/travi/travi.org-admin.svg?style=flat)](https://codeclimate.com/github/travi/travi.org-admin)
[![Dependency Status](http://img.shields.io/gemnasium/travi/travi.org-admin.svg?style=flat)](https://gemnasium.com/travi/travi.org-admin)

## Project Goals

I'm using this as an opportunity to learn how to apply a number of core concepts of web development to node. I want to find
an acceptable way to piece together `hapi` and `react` to support the following:

### Core Concepts

- [x] Universal Rendering
- [x] Progressive Enhancement
- [x] Package management of React components to share components with npm
- [ ] Intelligent management of client-side dependencies
    - [ ] Cut the Mustard
    - [ ] Progressive Enhancement based on browser capabilities
    - [ ] Lazy Loading
- [ ] Performance
- [ ] OpenID Authentication
- [x] Thin Hal Hypermedia client
- [ ] OAuth/Oz client
- [ ] API driven form validation
 
### Key Technology
- [x] [Hapi](https://hapijs.com)
- [x] [Traverson](https://github.com/basti1302/traverson) with the [HAL adapter](https://github.com/basti1302/traverson-hal)
- [x] [React](https://facebook.github.io/react/)
- [x] [React-router](https://github.com/rackt/react-router)
- [x] [Redux](http://rackt.org/redux/)
- [x] [Immutable.js](https://facebook.github.io/immutable-js/)
- [ ] [Webpack](https://webpack.github.io/)
- [ ] [Pact Consumer](https://github.com/pact-foundation/grunt-pact)
{'fraction_non_alphanumeric': 0.17466110531803963, 'fraction_numerical': 0.004171011470281543, 'mean_word_length': 4.512931034482759, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 28, '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': '3644812', 'n_tokens_mistral': 1356, 'n_tokens_neox': 1334, 'n_words': 255}