Coder Social home page Coder Social logo

lmvdz / aggr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tucsky/aggr

0.0 2.0 1.0 5.34 MB

Cryptocurrency trades aggregator

Home Page: https://aggr.trade

License: GNU General Public License v3.0

JavaScript 10.96% HTML 0.16% Vue 42.44% SCSS 4.73% TypeScript 41.56% Dockerfile 0.05% Shell 0.10%

aggr's Introduction

SignificantTrade

Cryptocurrency market trades aggregator./

Currently supporting Kucoin, BitMEX, Bitfinex, Binance, Coinbase, Bitstamp, Deribit, Huobi, Okex, Hitbtc, Poloniex, Bybit, Bitget, Mexc, Gate.io and Crypto.com (see src/exchanges/ for detail)

screenshot

What it does

This tool shows markets orders LIVE on the crypto market(s) of your choice.

  • Show live trades from exchanges on a specific pair
  • Filter noise by aggregating trades with the same timestamp
  • Calculate rolling sums over defined periods
  • Chart whatever is received from api (so only trades data for now)
  • Dynamic audio based on trade volume and side

Checkout CHANGELOG.md for details about the recent updates.

How it works

The application is developed using Vue.js and utilizes the JavaScript WebSocket interface to establish connections with exchange APIs and listen for trade events.

The core functionality involves an aggregator that processes raw trades within a dedicated Worker for each Exchange. The aggregator's main objective is to group trades based on time, market, and trade side. Periodically, the worker sends the aggregated trades to the user interface (UI), accompanied by relevant statistics regarding market activity. These statistics include volume sums, trade counts categorized by sides, and information about liquidations.

Local Installation and Execution Instructions

To begin, we highly recommend utilizing Volta, a node and npm version manager. We provide a convenient script to automate its installation process. This script is compatible with the bash shell, which is available on all major operating systems including Windows, macOS, and Linux.

	./scripts/install-volta.sh

If you want to use with your own data, edit /.env.local with API_URL=your url and build the app (npm run build).

For development, just as any vuejs project

  1. Clone the repo
git clone https://github.com/Tucsky/aggr
  1. Install dependencies
npm install
  1. Run it

Development mode

npm run cors

This will start a cors proxy for your development environment

npm run serve

This will automatically open a browser window at localhost:8080

npm run build

and access the dist/index.html directly in the browser later without having to run a command

Docker

build your own aggr client docker:

git clone https://github.com/Tucsky/aggr
cd aggr
docker build -t aggr-chart .

you need to set the API_URL as environment variable for your own installation, if you want to use that.

Configuration

SignificantTrades is now using Vue Cli which allows you to configure the client using .env file.

Create a .env.local or .env.development or .env.production (.env.local if you don't know) file inside root folder.

key description default value
API_URL Server instance url.
We use it to fetch historical data for the chart component.
Example: http://localhost:3000/
null
PROXY_URL Redirect HTTP requests from app through a proxy
If the PROXY_URL is set to https://cors.aggr.trade/, the app will retrieve Binance's products through this url : https://cors.aggr.trade/https://api.binance.com/api/v3/exchangeInfo
http://localhost:8080/

Implement historical data

You can use this project without historical data just by opening the app in your browser, as getting trades from exchanges is made directly in the browser using websocket api.

In order to show historical data YOU WILL need to setup your own server to provide the data using aggr-server.

See aggr-server repository.

Let's say you have a server instance running on port 3000, start the client with an environment variable API_URL=http://localhost:3000/ npm run serve

Community

Discord: https://discord.com/invite/MYMUEgMABs

Disclaimer

If you plan to use real money with this, USE AT YOUR OWN RISK.

Support this project!

ETH 0x83bBC120a998cF7dFcBa1518CDDCb68Aa0D0c158
COINBASE https://commerce.coinbase.com/checkout/c58bd003-5e47-4cfb-ae25-5292f0a0e1e8

aggr's People

Contributors

aalhendi avatar adeacetis avatar confluencecode-admin avatar fmhc avatar lmvdz avatar mwyywm avatar tucsky avatar

Watchers

 avatar  avatar

Forkers

redline600

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.