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.
This project follows the Clean architecture convention.
- installed Golang 1.17
- or run using Docker
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
├── .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 ignorebin
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.
- Makefile MUST NOT change well-defined command semantics, see Makefile for details.