Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 1.8 KB

README.md

File metadata and controls

68 lines (53 loc) · 1.8 KB

Volume-weighted average price (VWAMP) calculation engine

About the project

The goal of this project is to create a real-time VWAP (volume-weighted average price) calculation engine which pull coinbase websocket feed to stream in trade executions and update the VWAP for each trading pair as updates become available.

Design

This project follows the Clean architecture convention.

Getting started

Prerequisites

Start application

Run using Go

make run // to start application
make test // to run all the tests

Run using Docker

make docker-build
make docker-run
make docker-test

Layout

├── .gitignore
├── CHANGELOG.md
├── Makefile
├── README.md
├── service
│   └── vamp.service.go
├── release
│   ├── template-admin.yaml
│   └── template-controller.yaml
├── test
│   ├── README.md
│   └── test_make.sh
└── external
    ├── notifier
    └── provider

A brief description of the layout:

  • .gitignore varies per project, but all projects need to ignore bin directory.
  • CHANGELOG.md contains auto-generated changelog information.
  • README.md is a detailed description of the project.
  • pkg places most of project business logic.
  • test holds all tests.
  • external for all external services i.e. feed data provider and notifier.

Notes

  • Makefile MUST NOT change well-defined command semantics, see Makefile for details.