# ShapeShift DAO Web Interface

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

&#x20;[![ShapeShift](https://img.shields.io/badge/License-MIT-brightgreen)](https://github.com/CroixDrinkers/unchained/blob/master/LICENSE) [![ShapeShift](https://img.shields.io/badge/PRs-welcome-brightgreen)](https://github.com/CroixDrinkers/unchained/pulls)

ShapeShiftsOSS 2nd generation Web application. (Under Development)

## Table Of Contents

* [Helpful Docs](#helpful-docs)
* [Resources](#resources)
* [Dependencies](#dependencies)
* [Developer Onboarding](#developer-onboarding)
* [Commands](#commands)
* [Linking local dependencies](#linking)

## Helpful Docs

* [Architecture](https://shapeshiftdao.gitbook.io/web/docs/architecture)
* [File Structure](https://shapeshiftdao.gitbook.io/web/docs/file-structure)
* [Folder Structure](https://shapeshiftdao.gitbook.io/web/docs/folder-structure)
* [Globally Shared Code](https://shapeshiftdao.gitbook.io/web/docs/globally-shared-code)
* [State Management](https://shapeshiftdao.gitbook.io/web/docs/state-management)
* [Styles](https://shapeshiftdao.gitbook.io/web/docs/styles)
* [Testing](https://shapeshiftdao.gitbook.io/web/docs/testing)

## Resources

* [shapeshift](https://shapeshift.com/developer-portal)

## Dependencies

* [hdwallet](https://github.com/shapeshift/hdwallet)
* [lib](https://github.com/shapeshift/lib)
* [unchained](https://github.com/shapeshift/unchained)

## Developer Onboarding

* Install Dependencies:

  ```bash
  yarn
  ```
* Run server

  ```bash
  yarn dev
  ```

### Commands

Runs the app in the development mode.\
&#x20;Open <http://localhost:3000> to view it in the browser.

The page will reload if you make edits.\
&#x20;You will also see any lint errors in the console.

```bash
    yarn dev
```

Launches the test runner in the interactive watch mode.\
&#x20;See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

```bash
    yarn test
```

Launches the test runner and prints out the coverage of the tests that were run. It also creates an html page you can interact with at the root level of the project in `/coverage`.

```bash
    yarn test:coverage
```

Builds the app for production to the `build` folder.\
&#x20;It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
&#x20;Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

```bash
    yarn build
```

### Linking

If you are working with any @shapeshiftoss dependencies use `yarn link` These next steps will show you how to link to the `chain-adapters` repo From your projects folder:

1. `cd ./lib/chain-adapters && yarn link`
2. `cd ..../web/ && yarn link @shapeshiftoss/chain-adapters`

Now your web's chain-adapters have a symlink to your lib's

You can use `yarn run show-linked-packages` to show what is currently symlinked via yarn
