Skip to main content

Architecture de Remora

Vue d’ensemble

Remora est construit sur une architecture modulaire, permettant une séparation claire des responsabilités entre les différents composants du système. Cette page présente la structure globale de l’application, ses principes architecturaux et les interactions entre ses composants.

Organisation

L’application est organisée selon les principes suivants :
  1. Séparation des préoccupations : Chaque module a une responsabilité unique et clairement définie
  2. Isolation des dépendances : Les modules communiquent via des interfaces bien définies
  3. Couches d’abstraction : L’application est structurée en couches logiques (données, services, API)

Principes architecturaux

  • Architecture orientée services : Les fonctionnalités sont exposées via des services réutilisables
  • Modèle de données riche : Les entités métier encapsulent logique et données
  • Ports et adaptateurs : L’interaction avec les systèmes externes est découplée via des adaptateurs

Modules principaux

ModuleDescriptionResponsabilités
ExchangesServiceService d’interaction avec les échangesCommunication avec les API d’échanges, formatage des données
ExchangePositionServiceGestion des positions d’échangeCréation et suivi des positions sur les échanges
AbstractPositionServiceGestion des positions abstraitesDéfinition de la logique de trading indépendante des échanges
DatabaseCouche de persistanceStockage et récupération des données
APIInterface de programmationExposition des fonctionnalités via HTTP

Guides architecturaux

Standards et modèles utilisés

  • Dépôt unifié : Centralisation du code dans un seul dépôt pour faciliter la cohérence
  • Documentation dans le code : Documentation intégrée aux composants via JSDoc et spécifications Gauge
  • Tests automatisés : Couverture de tests unitaires et d’intégration

Diagramme d’architecture

Cette architecture permet à Remora d’être flexible, maintenable et évolutif, tout en garantissant une séparation claire des responsabilités et une isolation des dépendances externes.