2019-01-23 11:26:13 +01:00
[![banner ](https://raw.githubusercontent.com/oceanprotocol/art/master/github/repo-banner%402x.png )](https://oceanprotocol.com)
< h1 align = "center" > commons-marketplace< / h1 >
2019-03-24 02:10:00 +01:00
> Marketplace front-end and backend server to explore, download, and publish open data sets.
2019-01-23 11:26:13 +01:00
2019-01-24 14:01:00 +01:00
[![Build Status ](https://travis-ci.com/oceanprotocol/commons-marketplace.svg?token=3psqw6c8KMDqfdGQ2x6d&branch=master )](https://travis-ci.com/oceanprotocol/commons-marketplace)
2019-01-23 11:26:13 +01:00
[![code style: prettier ](https://img.shields.io/badge/code_style-prettier-7b1173.svg?style=flat-square )](https://github.com/prettier/prettier)
[![js oceanprotocol ](https://img.shields.io/badge/js-oceanprotocol-7b1173.svg )](https://github.com/oceanprotocol/eslint-config-oceanprotocol)
[![css bigchaindb ](https://img.shields.io/badge/css-bigchaindb-39BA91.svg )](https://github.com/bigchaindb/stylelint-config-bigchaindb)
2019-03-24 02:10:00 +01:00
- [Get Started ](#get-started )
2019-04-01 17:31:43 +02:00
- [Use with Barge ](#use-with-barge )
2019-03-24 02:10:00 +01:00
- [Production ](#production )
2019-01-23 11:26:13 +01:00
- [Testing ](#testing )
- [Code Style ](#code-style )
- [License ](#license )
2019-01-18 17:34:40 +01:00
2019-02-08 16:55:36 +01:00
< img alt = "screen shot 2019-02-08 at 16 53 57" src = "https://user-images.githubusercontent.com/90316/52489283-27080e80-2bc2-11e9-8ec0-508c21eb86f7.png" >
2019-03-24 02:10:00 +01:00
## Get Started
2019-01-18 17:34:40 +01:00
2019-04-01 17:31:43 +02:00
To make use of all the functionality, you need to connect to the Ocean network. By default, the client will connect to Ocean's Nile test network remotely.
2019-03-24 02:10:00 +01:00
To spin up both, the client and the server in a watch mode for local development, execute:
2019-01-23 13:03:41 +01:00
2019-01-23 11:26:13 +01:00
```bash
2019-03-24 02:10:00 +01:00
npm install
2019-01-23 11:26:13 +01:00
npm start
```
2019-01-18 17:34:40 +01:00
2019-03-27 15:46:26 +01:00
This will run both, client and server in development mode.< br >
2019-03-25 11:52:24 +01:00
Open [http://localhost:3000 ](http://localhost:3000 ) to view the client in the browser.
2019-01-18 17:34:40 +01:00
2019-03-24 02:10:00 +01:00
The page will reload if you make edits to files in either `./client` or `./server` .
2019-04-01 17:31:43 +02:00
### Use with Barge
If you prefer to connect to locally running components instead of remote connections to Ocean's Nile network, you can spin up [`barge` ](https://github.com/oceanprotocol/barge ) and use a local network:
```bash
git clone git@github.com:oceanprotocol/barge.git
cd barge
./start_ocean.sh --latest --no-pleuston --local-spree-node
```
Modify `./client/src/config.ts` to use those local connections.
2019-03-24 02:10:00 +01:00
## Production
To create a production build of both, the client and the server:
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
```bash
npm run build
```
2019-01-18 17:34:40 +01:00
2019-03-24 02:10:00 +01:00
Builds the client for production to the `./client/build` folder, and the server into the `./server/dist` folder.
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
## Testing
```bash
npm test
```
Launches the test runner in the interactive watch mode.< br >
See the section about [running tests ](https://facebook.github.io/create-react-app/docs/running-tests ) for more information.
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
## Code Style
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
For linting and auto-formatting you can use:
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
```bash
2019-02-07 11:28:04 +01:00
# auto format all ts & css with eslint & stylelint
2019-01-23 11:26:13 +01:00
npm run lint
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
# auto format all ts & css with prettier, taking all configs into account
npm run format
```
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
## License
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
```text
Copyright 2018 Ocean Protocol Foundation Ltd.
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
http://www.apache.org/licenses/LICENSE-2.0
2019-01-18 17:34:40 +01:00
2019-01-23 11:26:13 +01:00
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```