Extensieparadigma

PayCal is zo ontworpen dat de kernlogica stabiel blijft terwijl extensielagen functies kunnen aanpassen voor verschillende deployments en productstrategieën.

Core-first architectuur

PayCal Core bevat de canonieke domein- en controllerlogica: berekeningen, validatie, rechten, lifecyclebeleid en gedeelde API-contracten.

Core blijft bewust extensie-agnostisch. Integratiepunten zijn geïsoleerd via bridge-contracten zodat core-services onafhankelijk van runtime-specifieke pakketten kunnen worden getest.

Basisextensies in deze repository

Deze repository levert basisimplementaties van extensies die standaardgedrag bieden voor extensienaden. Ze fungeren als openbare referentiepackages en veilige defaults voor zelf gehoste deployments.

  • billing-provider: basis hooks voor facturatie en moduskeuze
  • earnings-ytd: basis YTD-weergave en earnings hooks
  • organization-signals: basis hooks voor organisationsignalen

Model voor extensies van derden

Derden die deze repository gebruiken kunnen hun eigen extensiepackages bouwen en onderhouden. Het verwachte model is:

  1. Houd core-logica waar mogelijk ongewijzigd
  2. Implementeer aangepast gedrag in extensiepackages
  3. Koppel custom packages via gedocumenteerde bootstrap- en hooknaden
  4. Behoud core-contracten zodat upstream upgrades beheersbaar blijven

Dit maakt concurrerende en sectorspecifieke deployments mogelijk zonder langdurige forks van core-domeincode af te dwingen.

Canonieke paycal.app-differentiatie

Het canonieke https://paycal.app-platform draait private extensievarianten bovenop hetzelfde core- en basisextensieparadigma.

Deze private varianten zijn een bewuste productdifferentiatielaag voor door PayCal beheerde omgevingen. Ze kunnen workflows, capabilitygedrag en UI-specifieke integraties afstemmen terwijl compatibiliteit met dezelfde core-architectuur behouden blijft.

  • Core-logica blijft gedeeld en auditbaar
  • Openbare/basisextensies blijven beschikbaar in de repository
  • Private extensies leveren canonieke platformdifferentiatie

Transparantieverbintenissen

  • Core-contracten zijn gedocumenteerd en getest bij extensienaden
  • Bridge-grenzen zijn expliciet zodat koppeling vindbaar blijft
  • Extensiegedrag kan evolueren zonder core-services te destabiliseren
  • Zelf gehoste gebruikers kunnen alternatieve extensiestrategieën bouwen