<p align="center">
	<img src="public/centaurus.jpg" width="400px" alt="Centaurus" />
</p>

> Centaurus has 281 stars above magnitude 6.5, meaning that they are visible to the unaided eye, the most of any constellation.

# Prerequisites

* React
* Webpack
* Storybook.js
* Jest
* Yarn

# ToDo

This repo is currently under construction

## Some ToDo Items Include

Need to Document the Following:
* The process of how to create and reuse code from Centaurus in other Ampush partner repos.
* A Lucid Chart diagram outlining how this repo links to NPM and any other Ampush partner repo.  Include references to [This blog post](https://parastudios.de/create-a-react-component-as-npm-module)
* Need to expand on the process for component documentation
* Need outline the process for testing.  Thinking of using Jest

Additional ToDo's:
* Remove `styled components` and use sass files instead
* Need to update/add all relative dot files and root files from recent partner repos.  `.editorconfig`, `.gitattributes`, `.prettierrc.js`, etc.
* Need to configure CircleCI
* Begin to add Ampush UI components, JS classes/modules, templates, API methods, etc. that we feel we could reuse across partners.

# Getting Started
## Development and Storybook

You can easily develop and interact with your components by using Storybook. To run the local server, simply run:

```bash
$ npm i
$ npm run storybook
```

Navigate to [http://localhost:9001](http://localhost:9001) to view your stories. They should automatically update as you develop.

Storybook will pick up any story from the `stories.js` file in a component folder.

Centaurus is currently using the latest technology available, so you may need to update your Node versions to the latest to accomodate Babel 7 and Webpack 4.

## Clean the dev env
When webpack || storyboook || docz does not work or give you weird errors on screen, please go with:
```
$ yarn cleanup
```

This command will remove all node modules and different folders and will let you start fresh by installing the correct and updated dependencies.

# How to Handle Project Versioning

Versioning should adhere to `Semantic Versioning` conventions.  See [https://semver.org](https://semver.org) for more details.
