ReactiveAnalytics
所属分类:云原生工具
开发工具:TypeScript
文件大小:9064KB
下载次数:0
上传日期:2023-06-01 11:51:18
上 传 者:
sh-1993
说明: Adaptive的市场新闻和分析展示。
(Market news and analytics showcase, by Adaptive.)
文件列表:
.dockerignore (179, 2023-08-14)
.editorconfig (147, 2023-08-14)
.env (103, 2023-08-14)
.nvmrc (7, 2023-08-14)
.travis.yml (4384, 2023-08-14)
.vscode (0, 2023-08-14)
.vscode\extensions.json (71, 2023-08-14)
.vscode\settings.json (52, 2023-08-14)
apollo.config.js (136, 2023-08-14)
client (0, 2023-08-14)
client\.dockerignore (255, 2023-08-14)
client\.env.development (106, 2023-08-14)
client\.eslintrc.yml (1289, 2023-08-14)
client\.prettierrc.yml (46, 2023-08-14)
client\Dockerfile (437, 2023-08-14)
client\fin.d.ts (198, 2023-08-14)
client\index.html (1256, 2023-08-14)
client\nginx (0, 2023-08-14)
client\nginx\default.conf (1410, 2023-08-14)
client\nginx\nginx.conf (1367, 2023-08-14)
client\package.json (3546, 2023-08-14)
client\public-openfin (0, 2023-08-14)
client\public-openfin\app.json (1366, 2023-08-14)
client\public-pwa (0, 2023-08-14)
client\public-pwa\manifest.json (1196, 2023-08-14)
client\public (0, 2023-08-14)
client\public\favicon.ico (232897, 2023-08-14)
client\public\icon.png (8724, 2023-08-14)
client\public\logo.svg (6497, 2023-08-14)
client\public\ra-sw.js (243, 2023-08-14)
client\public\static (0, 2023-08-14)
client\public\static\media (0, 2023-08-14)
client\public\static\media\apple (0, 2023-08-14)
client\public\static\media\apple\touch-icon-iphone.png (8081, 2023-08-14)
client\public\static\media\reactive-analytics-icon-128x128.png (3583, 2023-08-14)
... ...
# Reactive Analytics
[![TravisCI](https://travis-ci.com/AdaptiveConsulting/ReactiveAnalytics.svg?token=pzX2rmLCXdpByY5gqVfu&branch=develop)](https://travis-ci.com/github/AdaptiveConsulting/ReactiveAnalytics)
- [Reactive Analytics](#reactive-analytics)
- [Overview](#overview)
- [Requirements](#requirements)
- [Getting started](#getting-started)
- [Data connection](#data-connection)
- [OpenFin](#openfin)
- [Access IEX Sandbox token](#access-iex-sandbox-token)
- [Generate schema and typings](#generate-schema-and-typings)
- [Server schema](#server-schema)
- [Client typings](#client-typings)
- [Core technologies used](#core-technologies-used)
- [Useful developer add-ons](#useful-developer-add-ons)
- [Visual Studio Code extensions from the marketplace](#visual-studio-code-extensions-from-the-marketplace)
- [Google Chrome extensions](#google-chrome-extensions)
- [Deployment](#deployment)
## Overview
Reactive Analytics is a monorepo that demonstrate how NodeJS, Apollo GraphQL, React, and Typescript can be used to develop robust data-driven web apps.
Both the server-side and client-side code use strong types which are used to generate the GraphQL schema. This allows developers to detect data and schema errors at design-time and compile-time.
## Requirements
- [Node](https://nodejs.org/en/download/)
## Getting started
After downloading or cloning repos open a terminal to the root folder and run `yarn install` to install dependencies.
[ReactiveAnalytics] $ yarn install
Once the dependencies are install start the client and server using the start command.
[ReactiveAnalytics] $ yarn start
This will open up a browser window to [http://localhost:3005](http://localhost:3005) for the client interface, and a GraphQL server on port 4000.
### Data connection
By default the server will connect to the [IEX trading system](https://iexcloud.io/) to retrieve realtime market information.
To connect to [IEX](https://iexcloud.io/) during development, copy `server/.env.example` to `server/.env` and set the value of `IEXCLOUD_PUBLIC_KEY` to a valid IEX sandbox token.
### OpenFin
To run ReactiveAnalytics in OpenFin (only supported on Windows), from the root directory, after running `yarn start` per above, in a separate terminal:
ReactiveAnalytics> yarn openfin
Alternatively, if running the [ReactiveTrader](/AdaptiveConsulting/ReactiveTraderCloud) OpenFin Launcher, after running `yarn start` per above, click the ReactiveAnalytics icon in the Launcher.
Within the OpenFin window, you can right-click to reload and access devtools.
To kill all running OpenFin processes:
ReactiveAnalytics> yarn openfin:kill
## Access IEX Sandbox token
- If you haven't already done so, create a free personal IEX account at https://iexcloud.io/cloud-login#/register/
- Login to your IEX console https://iexcloud.io/console/
- Make sure the `Sandbox testing` Toggle on the bottom left hand side of the screen is set to on
- Navigate to the `API Tokens` tab on the top left handside of the screen
- Copy the Publishable Token
Note, rate limiting with a free IEX account token can cause failed API calls
## Generate schema and typings
### Server schema
- Ensure the backend is running locally and on port 4000
- Run `npm run generate-server-schema` from root
- A [`graphql-schema.json`](server/graphql-schema.json) file will be generated in the `server` folder
### Client typings
- Run `npm run generate-client-typings` from root
- The relevant typings will be generated in their respective folders
- Global typings are stored in [`global-types`](client/src/containers/global-types)
## Core technologies used
- [React](https://reactjs.org/) - Interface framework
- [Styled Components](https://www.styled-components.com/) - Interface styling framework
- [Apollo GraphQL](https://www.apollographql.com/) - GraphQL framework to allow rapid and reliable development of client-server communication
## Useful developer add-ons
When working with the Reactive Analytics repo, there are many add-ons that make development and debugging painless. When using [Visual Studio Code](https://code.visualstudio.com/) and [Google Chrome](https://www.google.com/chrome/) as a developer environment consider trying out some of the following tools.
### Visual Studio Code extensions from the marketplace
- **Apollo GraphQL** - Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform
- **Debugger for Chrome** - Debug your JavaScript code in the Chrome browser, or any other target that supports the Chrome Debugger protocol.
- **ESLint** - Integrates ESLint JavaScript into VS Code.
- **JSON to TS** - Convert JSON object to typescript interfaces
- **markdownlint** - Markdown linting and style checking for Visual Studio Code
- **vscode-styled-components** - Syntax highlighting for styled-components
### Google Chrome extensions
- [**GraphQL Network**](https://github.com/Ghirro/graphql-network) - Chrome Devtool that provides a "network"-style tab for GraphQL requests to allow developers to debug more easily.
- [**Apollo Client Developer Tools**](https://github.com/apollographql/apollo-client-devtools) - GraphQL debugging tools for Apollo Client in the Chrome developer console.
- [**React Developer Tools**](https://github.com/facebook/react-devtools) - Adds React debugging tools to the Chrome Developer Tools.
### Deployment
Deployment is through [Travis CI](https://app.travis-ci.com/github/AdaptiveConsulting/ReactiveAnalytics)
Merging to master will build and deploy to dev: https://dev-reactive-analytics.adaptivecluster.com/
Manually trigger a build with custom config to deploy to uat/prod.
```
env:
global:
ENV: uat
SKIP_BUILD: true
```
近期下载者:
相关文件:
收藏者: