From c3acd23179f425ebeb6f20af0f348e3066329308 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 12 Dec 2019 21:56:55 +0100 Subject: [PATCH] update docs --- README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 9af0f69..8859a89 100644 --- a/README.md +++ b/README.md @@ -12,28 +12,52 @@ - [🦑 Features](#-features) - [🏄 Get Started](#-get-started) -- [👩‍🔬 Testing](#-testing) - [✨ Code Style](#-code-style) +- [👩‍🔬 Testing](#-testing) +- [🛳 Production](#-production) +- [⬆️ Deployment](#️-deployment) + - [Manual Deployment](#manual-deployment) - [🎁 Contributing](#-contributing) - [🏛 License](#-license) ## 🦑 Features -- Fetches and displays information for each of Ocean's remote RPC endpoints - - online/offline status - - current block number - - response time +- Fetches and displays information for each of Ocean's remote RPC endpoints via [Parity JSON-RPC API](https://wiki.parity.io/JSONRPC) responses + - online/offline status (`eth_getBlockByNumber` & `parity_mode`) + - current block number (`eth_getBlockByNumber`) + - response time (custom `axios` interceptor) + - connected peers (`net_peerCount`) + - gas limit (`eth_getBlockByNumber`) + - gas price (`eth_gasPrice`) + - parity version (`web3_clientVersion`) - current block number is linked to respective explorer -- automatically refetch all data every 5 sec. +- automatically refetches all data every 5 sec. - Gets network metadata from [@ethereum-navigator/atlas](https://github.com/ethereum-navigator/atlas) ## 🏄 Get Started +The app is a React app built with [Next.js](https://nextjs.org). To start local development: + ```bash +git clone git@github.com:oceanprotocol/status.git +cd status + npm install npm start ``` +## ✨ Code Style + +For linting and auto-formatting you can use from the root of the project: + +```bash +# lint all js with eslint +npm run lint + +# auto format all js & css with prettier, taking all configs into account +npm run format +``` + ## 👩‍🔬 Testing Test suite is setup with [Jest](https://jestjs.io) and [react-testing-library](https://github.com/kentcdodds/react-testing-library) for unit testing. @@ -50,16 +74,43 @@ For local development, you can start the test runner in a watch mode. npm run test:watch ``` -## ✨ Code Style - -For linting and auto-formatting you can use from the root of the project: +For analyzing the generated JavaScript bundle sizes you can use: ```bash -# lint all js with eslint -npm run lint +npm run analyze +``` -# auto format all js & css with prettier, taking all configs into account -npm run format +## 🛳 Production + +To create a production build, run from the root of the project: + +```bash +npm run build +# serve production build +npm run serve +``` + +Outputs to `./public`. + +## ⬆️ Deployment + +Every branch or Pull Request is automatically deployed by [Now](https://zeit.co/now) with their GitHub integration. A link to a deployment will appear under each Pull Request. + +The latest deployment of the `master` branch is automatically aliased to `status.oceanprotocol.com`. + +### Manual Deployment + +If needed, app can be deployed manually. Make sure to switch to Ocean Protocol org before deploying: + +```bash +# first run +now login +now switch + +# deploy +now +# switch alias to new deployment +now alias ``` ## 🎁 Contributing