<commit_before>## my-reads

[![CircleCI](https://circleci.com/gh/vivshaw/my-reads.svg?&style=shield)](https://circleci.com/gh/vivshaw/my-reads)
[![Code Climate](https://codeclimate.com/github/vivshaw/my-reads/badges/gpa.svg)](https://codeclimate.com/github/vivshaw/my-reads) [![Test Coverage](https://codeclimate.com/github/vivshaw/my-reads/badges/coverage.svg)](https://codeclimate.com/github/vivshaw/my-reads/coverage)<commit_msg>flesh out README<commit_after>## my-reads

[![CircleCI](https://circleci.com/gh/vivshaw/my-reads.svg?&style=shield)](https://circleci.com/gh/vivshaw/my-reads)
[![Code Climate](https://codeclimate.com/github/vivshaw/my-reads/badges/gpa.svg)](https://codeclimate.com/github/vivshaw/my-reads) [![Test Coverage](https://codeclimate.com/github/vivshaw/my-reads/badges/coverage.svg)](https://codeclimate.com/github/vivshaw/my-reads/coverage)

This is my submission for Project 1 of the [Udacity React Nanodegree](https://www.udacity.com/course/react-nanodegree--nd019). This project
is a LibraryThing-esque library management app that keeps track of what books
you're reading. The app uses React & react-router to build an SPA front-end for
a RESTful books API. It can search for books, add books to shelves, and move them between shelves.

[A live demo is available here](http://my-reads-vivshaw.herokuapp.com/).

### Installing
Installation should be a breeze, as this was built with create-react-app & requires
nothing more than

```
yarn install
yarn start
```

or

```
npm install
npm start
```

### Testing
The app has a full test suite written in Jest & Enzyme that can be run
with ```yarn test```. The repo has CI set up with CircleCI & Codeclimate that will
automagically run the test suite & generate a coverage report on each git push.
Plus, sparkly badges! :sparkles:

### Deployment
The app autodeploys to Heroku on each successful (CI-passing) build of the
master branch. The latest passing build is at [my-reads-vivshaw.herokuapp.com](http://my-reads-vivshaw.herokuapp.com/)
{'fraction_non_alphanumeric': 0.13995037220843673, 'fraction_numerical': 0.0019851116625310174, 'mean_word_length': 4.982195845697329, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 13, 'lorem ipsum': 0, 'www.': 1, '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': '36892', 'n_tokens_mistral': 712, 'n_tokens_neox': 649, 'n_words': 172}