/go-ohlc

gRPC-based repository in Golang with Echo for API Gateway, Redis for caching, Kafka for handling calculations, and Zap for logging. Utilizes Protocol Buffers for efficient data transport

Primary LanguageGo

Go OHLC ✨

Architecture

Flow Go OHLC

Technologies - Libraries

Setup Docker First

Run docker-compose.yaml

$ make docker-compose

After run this, don't forget to check all container are successfully started. Kafka GUI tools http://localhost:8080/

How To Run This Project

  1. Run Order Service
$ make run-order-service
  1. Run Worker Service
$ make run-worker-service
  1. Run Summary Service
$ make run-summary-service
  1. Run Client
$ make run-client

Endpoint

Order

To create order transaction

POST /order
Example Request
{
    "stock_code" : "BBCA",
    "order_number" : "123",
    "type" : "E",
    "quantity": "200",
    "price" : "8100"
}

Bulk Order

To create order transaction from .ndjson file

GET /bulk-order

Summary

To get summary result

GET /summary/:stock-code