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 :- Séparation des préoccupations : Chaque module a une responsabilité unique et clairement définie
- Isolation des dépendances : Les modules communiquent via des interfaces bien définies
- 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
| Module | Description | Responsabilités |
|---|---|---|
ExchangesService | Service d’interaction avec les échanges | Communication avec les API d’échanges, formatage des données |
ExchangePositionService | Gestion des positions d’échange | Création et suivi des positions sur les échanges |
AbstractPositionService | Gestion des positions abstraites | Définition de la logique de trading indépendante des échanges |
Database | Couche de persistance | Stockage et récupération des données |
API | Interface de programmation | Exposition des fonctionnalités via HTTP |
Guides architecturaux
- Flux de données : Détail des flux de données dans l’application
- Modèle de données : Structure du modèle de données et relations
- Sécurité : Principes et implémentations de sécurité
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