Files
Finlytic/FinlyticCore/Project.md
T

1.6 KiB

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

  • Centralized DTO definitions shared across all C# microservices.
  • Zero-allocation .NET 8 JSON Source Generation for all MQTT payloads.
  • Resilient MQTT RPC engine (ExecuteRpcAsync).

Planned Features

  • Binary Protocol Buffers (protobuf) serialization option for ultra-low latency internal MQTT streaming.