Architecture core-first
PayCal Core contient la logique canonique du domaine et des contrôleurs : calculs, validation, permissions, politiques de cycle de vie et contrats API partagés.
Le core reste volontairement agnostique aux extensions. Les points d’intégration sont isolés via des contrats passerelle afin que les services core puissent être testés indépendamment des paquets spécifiques à l’exécution.
Extensions de base incluses dans ce dépôt
Ce dépôt fournit des implémentations d’extensions de base qui offrent un comportement par défaut pour les points d’extension. Elles servent de paquets de référence publics et de valeurs sûres pour les déploiements auto-hébergés.
- billing-provider : crochets de facturation de base et sélection de mode
- earnings-ytd : rendu YTD de base et points d’accroche des revenus
- organization-signals : crochets de signaux d’organisation de base
Modèle d’extensions tierces
Les tiers utilisant ce dépôt peuvent créer et maintenir leurs propres paquets d’extension. Le modèle attendu est :
- Conserver la logique core inchangée autant que possible
- Implémenter le comportement personnalisé dans des paquets d’extension
- Lier les paquets personnalisés via le bootstrap et les points d’accroche documentés
- Préserver les contrats core pour garder les mises à niveau gérables
Cela permet des déploiements concurrentiels et spécifiques à un secteur sans forcer des forks durables du code core.
Différenciation canonique de paycal.app
La plateforme canonique https://paycal.app exécute des variantes d’extensions privées au-dessus du même paradigme core et des extensions de base.
Ces variantes privées constituent une couche de différenciation produit délibérée pour les environnements exploités par PayCal. Elles peuvent ajuster les flux, le comportement des capacités et les intégrations spécifiques à l’interface tout en restant compatibles avec la même architecture core.
- La logique core reste partagée et auditable
- Les extensions publiques/de base restent disponibles dans le dépôt
- Les extensions privées fournissent la différenciation canonique de la plateforme
Engagements de transparence
- Les contrats core sont documentés et testés aux points d’extension
- Les frontières de passerelle sont explicites pour rendre le couplage visible
- Le comportement des extensions peut évoluer sans déstabiliser les services core
- Les adoptants auto-hébergés sont libres de bâtir d’autres stratégies d’extension