After Framework

Architettura

Livelli, regola delle dipendenze, principi non negoziabili e struttura comune delle app.

Versione della documentazione: supercore main · pacchetti 1.0.0

LivelliLink a questa sezione: Livelli

Dall’alto verso il basso: dominio del prodotto, ecosistema e IA, un livello di linea di prodotto, poi il kernel e il design system. Gli adapter Firebase si collegano nella composition root.

  • Livello di dominio del prodotto

    Solo funzionalità verticali, in lib/features/<vertical>/ nel repository di ciascun prodotto: garage, pazienti, voli. Mai nei pacchetti condivisi.

  • Livello di ecosistema

    After ID, After+, l’event bus, le API tra prodotti e i servizi condivisi. I prodotti comunicano tramite questo tessuto, mai con import tra repository affiancati.

  • Capacità di IA

    Un’unica piattaforma di IA con capacità modulari: conversazione, OCR, visione, riassunto, tool calling e altro. I prodotti le attivano o disattivano; non includono stack di IA propri.

  • Moduli consumer

    Livello B2C snello: bridge per le membership, catalogo funzionalità consumer, archivio personale, consenso al lancio e località regionale. Riferimento: SuperGarage.

  • Moduli enterprise

    Quattordici port B2B (organizzazione, RBAC, workflow, attività, calendario, documenti, messaggistica, report, audit, sincronizzazione offline), ciascuno con un mock in memoria. Riferimento: SuperHospital.

  • Kernel condiviso

    Autenticazione, networking protetto, storage, DI con Riverpod, flag, remote config, SDK di IA BYOK, diritti premium, notifiche, deep link e i motori di dashboard, plugin, ricerca e impostazioni.

  • Sistema di design

    Un’unica famiglia visiva per consumer ed enterprise: token di colore, spaziatura, raggio, animazione e tipografia, più componenti condivisi.

  • Adapter Firebase

    Firebase Auth, sincronizzazione blob su Firestore e sincronizzazione media su Storage dietro i port di after_core. Collegati solo nella composition root; il codice di dominio non importa mai Firebase.

Regola delle dipendenzeLink a questa sezione: Regola delle dipendenze

Le dipendenze puntano solo verso il basso. I prodotti comunicano tra loro tramite eventi e API sicure nel livello di ecosistema. Aggiungere un dominio aggiunge un modulo di livello superiore e lascia invariato questo diagramma.

after_ecosystemafter_aiafter_consumerafter_enterpriseafter_firebaseafter_coreafter_design_system

PrincipiLink a questa sezione: Principi

  • SuperGarage è il riferimento consumer; SuperHospital è il riferimento enterprise.
  • I moduli di settore e verticali vivono solo nei repository dei prodotti.
  • I moduli OS condivisi vivono solo in after_core, after_consumer e after_enterprise.
  • Generare, non ripartire da zero.
  • Port anziché SDK.
  • Vince l’aria di famiglia: cornice, animazione, densità, splash e shell sono identici.
  • Ogni port include un’implementazione mock.

Struttura comune delle appLink a questa sezione: Struttura comune delle app

Ogni prodotto, consumer o enterprise, si avvia con la stessa sequenza.

text
main.dart
  → PlatformConfig.current = manifest
  → ProviderScope(overrides: After*Overrides…)
  → ColdStart (OVERSTEIN splash)
       → AuthGate
            → ProductShell (tabs from platform + spec)
                 → Home = Dashboard Engine (+ plugins)
                 → OS modules = platform screens
                 → Vertical = product feature modules only

Sorgente supercore/docs/PLATFORM_DOCTRINE.md (si apre in una nuova scheda)