Elysium Core

Il paved road su cui ogni verticale SS9 costruisce solo il proprio business: autenticazione, permessi, audit trail e logging arrivano già pronti dal core, non vanno ricostruiti ogni volta.

Tipo

Acceleratore + framework

Distribuzione

GitHub template, semver

Stato

v0.2.0 in corso

Il problema

Prima di Elysium, autenticazione, permessi e audit non erano un punto fermo: erano una decisione che si ripeteva — con esiti diversi — a ogni nuovo progetto.

Senza core condiviso

Login, ruoli e log implementati da capo su ogni verticale, con librerie, convenzioni e livelli di robustezza diversi da progetto a progetto. Un bug di sicurezza corretto altrove non arriva mai qui.

Con Elysium Core

Un verticale nasce da "Use this template" con auth, RBAC, audit trail e logging già collaudati. Il team aggiunge dominio, non infrastruttura.

Cos'è, esattamente

Elysium Core non è solo uno starter da copiare una volta: è un acceleratore all'avvio e un framework che resta valido nel tempo.

01 · Acceleratore

Azzera il tempo speso a ricostruire le fondamenta. Un nuovo verticale SS9 parte già con login, ruoli, audit e log funzionanti: giorni di setup, non settimane.

02 · Framework

Impone un unico pattern d'integrazione per ogni azione sensibile: stesso punto di controllo permessi, stessa tracciabilità, stesso formato di log — su tutti i verticali, non solo su questo.

Server Action→ can(user, azione, risorsa)→ transazione Prisma→ AuditLog→ log Pino correlato

Cosa arriva già pronto

Cinque moduli, ciascuno la fondazione minima ma reale di una capacità che ogni applicazione business seria deve avere.

  • Auth

    server/auth/

    Auth.js v5 con Credentials provider, password hash via bcrypt. Sessioni JWT (non database — il provider Credentials non le supporta). Un cambio di ruolo revoca la sessione quasi subito tramite User.tokenValidAfter, senza aspettare la scadenza del token.

  • RBAC

    core/rbac/can.ts

    can(user, azione, risorsa) verifica il permesso risorsa:azione risolvendo Ruolo → Permesso da Prisma. Non un controllo decorativo: è la guardia reale che protegge ogni pagina di amministrazione.

  • Audit trail

    AuditLog

    Ogni evento di dominio rilevante viene registrato con stato prima/dopo — chi ha fatto cosa, e quando. Scritto dai servizi di dominio stessi, non da un middleware generico che intercetta tutto il traffico.

  • Logging

    core/logging/logger.ts

    Log strutturati con Pino — JSON in produzione, leggibili in sviluppo. Ogni richiesta riceve un x-request-id che correla tutte le righe di log a quella specifica richiesta, per il debug in produzione.

  • UI & design system

    shadcn/ui · tema Elysium

    Shell autenticata (sidebar, topbar), login e amministrazione utenti già costruiti sul tema visivo Elysium, così ogni verticale parte con un'interfaccia coerente e già amministrabile, non con una pagina bianca. In lavorazione — v0.2.0

Cosa cambia per SS9

Coerenza tra verticali

Stesso modello di permessi e stesso audit trail ovunque: nessun verticale reinventa — in modo peggiore o diverso — una capacità che esiste già.

Time-to-market

Il primo commit di un nuovo verticale è già oltre l'infrastruttura: il team lavora sul dominio del cliente dal primo giorno.

Rischio gestito una volta

Un fix di sicurezza o una correzione all'audit trail, applicato al core, è pensato per beneficiare tutti i verticali che ne derivano — non uno alla volta.

Onboarding più rapido

Chi ha già lavorato su un verticale SS9 ritrova lo stesso pattern d'integrazione — auth, permessi, audit — su ogni altro progetto del core.

Dove siamo

  • v0.1.0
    Fondamenta Completato

    Scaffold con auth, RBAC, audit e logging minimi ma funzionanti — la prima versione taggata del template.

  • v0.2.0
    Interfaccia amministrativa In corso

    Tema visivo Elysium su shadcn/ui, shell autenticato, login ridisegnato, gestione utenti con disattivazione soft-delete. In frontiera: ruoli & permessi, audit trail e profilo a schermo.

  • Rotta
    Distribuzione come package

    Estrazione dei moduli del core in package npm privati, così un verticale potrà aggiornarsi senza re-templare da zero — dopo che almeno due verticali reali ne avranno confermato la stabilità.

Use case in demo

Live

Use case: Agrinascente — Tracciabilità

Tracciabilità di filiera lattiero-casearia: fornitori, lotti, magazzino, documenti.

Entra nella demo →
Live

Use case: Gestione documentale

Gestione documentale, assessment fornitori e scadenziario, con autenticazione e storage self-hosted.

Entra nella demo →