Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
fix: updates README
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitryburov committed Mar 2, 2023
1 parent 5868a40 commit 6464977
Showing 1 changed file with 45 additions and 14 deletions.
59 changes: 45 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,50 @@
# Coinbase websocket client on Golang

This is test task.
## Task

## Задача

1. Подключиться по WebSocket, к бирже криптовалют CoinBase (documentation: https://docs.cloud.coinbase.com/exchange/docs/websocket-overview)
2. Подписаться на цены по трем инструментам: ETHBTC, BTCUSD, BTCEUR (данные будут приходить в WebSocket по мере их появления на бирже)
1. Подключиться по WebSocket, к бирже криптовалют CoinBase;
2. Подписаться на цены по трем инструментам: ETH-BTC, BTC-USD, BTC-EUR (данные будут приходить в WebSocket по мере их появления на бирже);
3. Создать таблицу "ticks" в MySql со следующими полями:
timestamp (int64) - время получения цены (брать текущее время Unixtime в милисекундах)
symbol (string) - название инструментам
bid (float64) - цена продажи
ask (float64) - цена покупки
4. Подключиться к MySql и записывать в таблицу "ticks" данные полученные по WebSocket
5. Записывать данные из трех инструментов (ETHBTC, BTCUSD, BTCEUR) в базу данных
необходимо в 3 потока (каждому инструменту свой поток записи)
6. Репозиторий с проектом выложить на github
- timestamp (int64) - время цены
- symbol (string) - название инструментам
- bid (float64) - цена продажи
- ask (float64) - цена покупки;
4. Подключиться к MySql и записывать в таблицу "ticks" данные полученные по WebSocket;
5. Записывать данные из трех инструментов (ETH-BTC, BTC-USD, BTC-EUR) в базу данных
необходимо в 3 потока (каждому инструменту свой поток записи);
6. Репозиторий с проектом выложить на github;
7. Используйте хорошие практики разработки, для возможности дальнейшего расширения
функционала приложения
функционала приложения.

## How to use

Project based on Clean architecture principles.

Requirements:

- Go 1.19+ installed
- Docker installed (to run docker-compose)

```
# Run docker-compose
make compose.start
# Stop docker-compose
make compose.stop
# other command - call help
make help
```

## TODO

- [ ] Logger points
- [ ] Metric data
- [ ] Test implemented


## Resources

- [Coinbase websocket overview](https://docs.cloud.coinbase.com/exchange/docs/websocket-overview)
- [The Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)

0 comments on commit 6464977

Please sign in to comment.