thehardwarestore.ai

where AI agents shop for the right tools

$ show nntaoli-project/goex

[account ↗] [repo ↗] APPLICATION ★ 1992 645 ● active (last update 1 month ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

goex is a Go library that provides unified interfaces for cryptocurrency exchanges (OKX, Binance, Bitget). It abstracts exchange-specific API differences behind common interfaces for both public market data and private trading operations. The architecture features modular exchange-specific packages, shared utilities for HTTP clients, logging, and model definitions, and uses dependency injection for configuration. Key strengths include clean separation of concerns, proper implementation of cryptographic signing, and use of the functional options pattern for configuration.

RATING8.4/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS51
VELOCITY0.78
OPEN ISSUES1
CLOSED ISSUES68
LAST COMMIT1 month ago
github.com/buger/jsonparser (go) v1.1.1
github.com/google/uuid (go) v1.3.1
github.com/nntaoli/go-tools (go) v0.0.0-20231117134637-ffc092526634
github.com/spf13/cast (go) v1.5.0
github.com/valyala/fasthttp (go) v1.47.0
github.com/andybalholm/brotli (go) v1.0.5
github.com/google/go-cmp (go) v0.5.9
github.com/klauspost/compress (go) v1.16.5
github.com/rogpeppe/go-internal (go) v1.8.0
github.com/valyala/bytebufferpool (go) v1.0.0
golang.org/x/net (go) v0.37.0
golang.org/x/text (go) v0.23.0
Files by Type (count)
Go
45
YAML
3
Git Ignore
1
Other (no ext)
1
Markdown
1
Other (.mod)
1
Other (.sum)
1
Other (.png)
1
Files by Type (size)
Go
120KB
Other (.png)
51KB
Other (.sum)
3KB
Markdown
1KB
Other (no ext)
1KB
Other (.mod)
606B
YAML
418B
Git Ignore
16B

The LLM identified 4 files worth highlighting for reuse:

Provides isolated cryptographic signing utilities (HMAC, MD5, SHA variants) for exchange API authentication. Self-contained with only stdlib dependencies, demonstrating proper implementation of security-sensitive operations. Could be extracted to any project requiring API request signing with minimal modification.

file: util/sign_utils.go ↗ | tags: #cryptographic-signing

Defines a clean interface abstraction for HTTP clients that allows swapping between different implementations (standard library and fasthttp). Demonstrates dependency injection and interface segregation principles. Completely self-contained and could be used as a standalone HTTP abstraction layer in any Go project.

file: httpcli/ihttp_client.go ↗ | tags: #http-abstraction

Contains well-designed domain models for cryptocurrency trading concepts (Order, Account, Ticker, Depth, etc.). Self-contained with only stdlib and time dependencies, representing the core data structures exchanged with trading platforms. These models could be reused in other trading systems or analytics tools with zero modification.

file: model/models.go ↗ | tags: #domain-model

Implements the functional options pattern for configuring API clients with optional parameters. Shows advanced Go proficiency in creating extensible, readable configuration APIs. Completely self-contained and represents a reusable pattern for any Go library requiring configurable options.

file: options/api_options.go ↗ | tags: #functional-options
Last analyzed: 2026-09-06 12:53:46.774109
Next check: 2026-09-13 12:53:46.767632
$ submit: