feat(Core): update DTOs and shared models

This commit is contained in:
2026-08-09 21:01:38 +02:00
parent 6337e63a77
commit 5475c3ac51
58 changed files with 3418 additions and 30 deletions
+32
View File
@@ -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.