Arquitetura core first
PayCal Core contém a lógica canônica de domínio e controladores: cálculos, validação, permissões, política de ciclo de vida e contratos de API compartilhados.
O core permanece agnóstico a extensões por design. Os pontos de integração são isolados por contratos bridge para que os serviços core possam ser testados independentemente de pacotes específicos de runtime.
Extensões básicas incluídas neste repositório
Este repositório traz implementações básicas de extensões que fornecem comportamento padrão para os pontos de extensão. Elas servem como pacotes de referência públicos e defaults seguros para implantações self-hosted.
- billing-provider: ganchos básicos de faturamento e seleção de modo
- earnings-ytd: renderização YTD básica e pontos de gancho de ganhos
- organization-signals: ganchos básicos de sinais de organização
Modelo de extensões de terceiros
Terceiros que usam este repositório podem criar e manter seus próprios pacotes de extensão. O modelo esperado é:
- Manter a lógica core inalterada sempre que possível
- Implementar comportamento personalizado em pacotes de extensão
- Conectar pacotes personalizados por bootstrap e pontos de gancho documentados
- Preservar contratos core para que upgrades upstream continuem gerenciáveis
Isso permite implantações competitivas e específicas de vertical sem forçar forks de longo prazo do código core.
Diferenciação canônica do paycal.app
A plataforma canônica https://paycal.app executa variantes privadas de extensão sobre o mesmo paradigma core e de extensões básicas.
Essas variantes privadas são uma camada deliberada de diferenciação de produto para ambientes operados pela PayCal. Elas podem ajustar fluxos de trabalho, comportamento de capabilities e integrações específicas da UI mantendo compatibilidade com a mesma arquitetura core.
- A lógica core continua compartilhada e auditável
- Extensões públicas/básicas continuam disponíveis no repositório
- Extensões privadas fornecem a diferenciação canônica da plataforma
Compromissos de transparência
- Contratos core são documentados e testados nos pontos de extensão
- Os limites de bridge são explícitos para tornar o acoplamento descobrível
- O comportamento das extensões pode evoluir sem desestabilizar os serviços core
- Adotantes self-hosted podem criar estratégias de extensão alternativas