# 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.