Paradigma de extensiones

PayCal está diseñado para que la lógica empresarial central permanezca estable mientras las capas de extensión adaptan funciones para distintos despliegues y estrategias de producto.

Arquitectura core first

PayCal Core contiene la lógica canónica de dominio y controladores: cálculos, validación, permisos, política de ciclo de vida y contratos de API compartidos.

El core permanece agnóstico a las extensiones por diseño. Los puntos de integración están aislados mediante contratos puente para que los servicios core puedan probarse de forma independiente de los paquetes específicos de tiempo de ejecución.

Extensiones básicas incluidas en este repositorio

Este repositorio incluye implementaciones básicas de extensiones que proporcionan comportamiento por defecto para los puntos de extensión. Actúan como paquetes de referencia públicos y valores seguros para despliegues autohospedados.

  • billing-provider: ganchos básicos de facturación y selección de modo
  • earnings-ytd: representación básica de YTD y puntos de enganche de ganancias
  • organization-signals: ganchos básicos de señales de organización

Modelo de extensiones de terceros

Los terceros que usan este repositorio pueden crear y mantener sus propios paquetes de extensión. El modelo esperado es:

  1. Mantener la lógica core sin modificar siempre que sea posible
  2. Implementar el comportamiento personalizado en paquetes de extensión
  3. Vincular paquetes personalizados mediante bootstrap y puntos de enganche documentados
  4. Preservar los contratos core para que las actualizaciones sigan siendo manejables

Esto permite despliegues competitivos y específicos de vertical sin forzar bifurcaciones a largo plazo del código core.

Diferenciación canónica de paycal.app

La plataforma canónica https://paycal.app ejecuta variantes privadas de extensión sobre el mismo paradigma core y de extensiones básicas.

Estas variantes privadas son una capa deliberada de diferenciación de producto para entornos operados por PayCal. Pueden ajustar flujos de trabajo, comportamiento de capacidades e integraciones específicas de la UI manteniendo compatibilidad con la misma arquitectura core.

  • La lógica core sigue siendo compartida y auditable
  • Las extensiones públicas/básicas siguen disponibles en el repositorio
  • Las extensiones privadas proporcionan diferenciación canónica de la plataforma

Compromisos de transparencia

  • Los contratos core están documentados y probados en los puntos de extensión
  • Los límites de puente son explícitos para hacer visible el acoplamiento
  • El comportamiento de las extensiones puede evolucionar sin desestabilizar los servicios core
  • Los adoptantes autohospedados son libres de construir estrategias de extensión alternativas