feat(Core): update DTOs and shared models
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# FinlyticCore Library
|
||||
|
||||
`FinlyticCore` is the central shared class library for the Finlytic microservice architecture. It provides standardized data transfer objects (DTOs), domain models, MQTT communication primitives (`ManagedMqttClient`), and .NET 8 JSON Source Generators.
|
||||
|
||||
---
|
||||
|
||||
## Key Modules & Components
|
||||
|
||||
1. **`ManagedMqttClient`**:
|
||||
- Resilient MQTT wrapper handling auto-reconnect, structured JSON publishing, topic subscription management, and synchronous Request-Reply (RPC) execution over MQTT.
|
||||
|
||||
2. **`FinlyticJsonSerializerContext`**:
|
||||
- .NET 8 Source Generator context (`[JsonSourceGenerationOptions]`, `[JsonSerializable]`) for reflection-free, zero-allocation UTF-8 JSON serialization across MQTT messages.
|
||||
|
||||
3. **Domain Models & DTOs**:
|
||||
- `Dtos/News`: `NewsArticleDto`, `DiscoveredArticle`, `MatchedAssetDto`, `FinBertResultDto`.
|
||||
- `Dtos/Fundamentals`: `AssetFundamentalsDto`, `CorporateEventDto`.
|
||||
- `Dtos/TechnicalAnalysis`: `CandleDto`, `ChartPatternDto`, `IndicatorValuesDto`, `MarketRegimeDto`, `StrategySignalDto`, `TechnicalAnalysisDto`.
|
||||
- `Dtos/Sentiment`: `IsinSentimentSummaryDto`, `SectorSentimentSummaryDto`.
|
||||
- `Models/Trades`: `TradeProposalDto`, `CloseTradeRequest`, `TradeHourlyUpdateDto`, `TradeFeedbackRecord`, `TradeStatus`.
|
||||
|
||||
---
|
||||
|
||||
## Feature Status
|
||||
|
||||
### Implemented Features
|
||||
- [x] Centralized DTO definitions shared across all C# microservices.
|
||||
- [x] Zero-allocation .NET 8 JSON Source Generation for all MQTT payloads.
|
||||
- [x] Resilient MQTT RPC engine (`ExecuteRpcAsync`).
|
||||
|
||||
### Planned Features
|
||||
- [ ] Binary Protocol Buffers (protobuf) serialization option for ultra-low latency internal MQTT streaming.
|
||||
Reference in New Issue
Block a user