adding data-services
This commit is contained in:
parent
e3bfd05b90
commit
405b818c86
139 changed files with 55943 additions and 416 deletions
87
docs/enhanced-architecture.md
Normal file
87
docs/enhanced-architecture.md
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# Enhanced Separation of Concerns
|
||||
|
||||
This guide describes how the project architecture has been improved to better separate concerns through a modular libs structure.
|
||||
|
||||
## New Library Structure
|
||||
|
||||
We've reorganized the project's shared libraries for improved maintainability:
|
||||
|
||||
### 1. Shared Types (`@stock-bot/shared-types`)
|
||||
|
||||
Types are now organized by domain:
|
||||
|
||||
```
|
||||
libs/shared-types/
|
||||
├── src/
|
||||
│ ├── market/ # Market data types (OHLCV, OrderBook)
|
||||
│ ├── trading/ # Trading types (Orders, Positions)
|
||||
│ ├── strategy/ # Strategy and signal types
|
||||
│ ├── events/ # Event definitions
|
||||
│ ├── api/ # API response/request types
|
||||
│ └── config/ # Configuration types
|
||||
```
|
||||
|
||||
### 2. Event Bus (`@stock-bot/event-bus`)
|
||||
|
||||
A consistent event publishing system:
|
||||
|
||||
```
|
||||
libs/event-bus/
|
||||
├── src/
|
||||
│ ├── EventBus.ts # Core event bus implementation
|
||||
│ └── index.ts # Public API
|
||||
```
|
||||
|
||||
### 3. Utils (`@stock-bot/utils`)
|
||||
|
||||
Shared utility functions:
|
||||
|
||||
```
|
||||
libs/utils/
|
||||
├── src/
|
||||
│ ├── dateUtils.ts # Date manipulation helpers
|
||||
│ ├── financialUtils.ts # Financial calculations
|
||||
│ ├── logger.ts # Standardized logging
|
||||
│ └── index.ts # Public API
|
||||
```
|
||||
|
||||
### 4. API Client (`@stock-bot/api-client`)
|
||||
|
||||
Type-safe service clients:
|
||||
|
||||
```
|
||||
libs/api-client/
|
||||
├── src/
|
||||
│ ├── BaseApiClient.ts # Common HTTP client logic
|
||||
│ ├── BacktestClient.ts # Backtest service client
|
||||
│ ├── StrategyClient.ts # Strategy service client
|
||||
│ └── index.ts # Public API
|
||||
```
|
||||
|
||||
## Service Architecture Improvements
|
||||
|
||||
The intelligence services have been split into focused services:
|
||||
|
||||
1. `strategy-orchestrator`: Core strategy management
|
||||
2. `backtest-engine`: Dedicated historical testing
|
||||
3. `signal-engine`: Signal generation
|
||||
|
||||
This provides:
|
||||
- Better scaling for resource-intensive operations
|
||||
- Focused codebases for each concern
|
||||
- Independent deployment cycles
|
||||
- Clear service boundaries
|
||||
|
||||
## Usage Guidelines
|
||||
|
||||
- Use the shared types library for all data models
|
||||
- Use the event bus for inter-service communication
|
||||
- Use the API clients for direct service calls
|
||||
- Use utility functions instead of duplicating common code
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Continue migrating services to use the new libraries
|
||||
2. Add comprehensive tests for each library
|
||||
3. Create a complete API gateway for external access
|
||||
4. Document service boundaries with OpenAPI schemas
|
||||
Loading…
Add table
Add a link
Reference in a new issue