Salta ai contenuti
ArenileArenile
Coste360.itCoste360.it

Mappa del repository

  • Directorycmd/
    • Directoryarenile/ entrypoint e CLI (serve, migrate, admin create, seed demo, backup, restore, version)
      • …
  • Directoryinternal/
    • Directoryapp/ composition root e registry delle estensioni
      • …
    • Directoryconfig/ variabili d’ambiente
      • …
    • Directorydomain/ logica di business, un pacchetto per area (niente HTTP, niente SQL)
      • Directoryinventory/ allocazioni, hold, pool, quote, assegnazione automatica
        • …
      • Directorypricing/ motore dei prezzi puro
        • …
      • Directorypolicy/ motore delle policy puro
        • …
      • Directorybooking/ macchina a stati delle prenotazioni
        • …
      • Directorycheckout/ flusso pubblico e area di gestione
        • …
      • Directorypayment/ pagamenti, registro, driver
        • Directorygateway/ pagamenti online, webhook, riconciliazione
          • …
        • Directorystripe/ driver Stripe
          • …
      • Directorynotify/ email, link magici, QR, .ics
        • …
      • Directoryonline/ impostazioni della pagina pubblica, condizioni, credenziali
        • …
      • …
    • Directorystore/ accesso al database (Bun): l’unico posto con SQL
      • …
    • Directoryhttp/
      • Directoryadmin/ handler di /api/admin/v1
        • …
      • Directorypublic/ handler di /api/public/v1
        • …
      • Directorywebhooks/ webhook dei pagamenti
        • …
      • Directorymiddleware/
        • …
      • Directorysse/
        • …
      • Directoryapi/ codice generato (api.gen.go)
        • …
      • Directorystatic/ SPA incorporate
        • …
    • Directoryjobs/ job runner in-process
      • …
    • Directorymigrations/
      • Directorysqlite/
        • …
      • Directorypostgres/
        • …
    • Directoryclock/ orologio iniettabile
      • …
    • Directorymoney/ importi in centesimi
      • …
    • Directorycalendar/ date e fasce
      • …
  • Directorypkg/
    • Directoryext/ interfacce pubbliche per le estensioni (API Go stabile)
      • …
  • Directoryapi/
    • openapi.yaml il contratto, fonte di verità
  • Directoryweb/ workspace npm
    • Directoryadmin/ pannello del gestore
      • …
    • Directorybooking/ pagina pubblica ed embed.js
      • …
    • Directoryshared/ client API, UI shadcn, mappa con il kit
      • …
  • Directoryassets/
    • Directorymap-kits/ kit originali di illustrazioni della mappa, moderno e classico (ADR 0012, 0024)
      • …
  • Directorydocs/ specifica, ADR, architettura, invarianti, glossario
    • …
  • Directorydocs-site/ questo sito (Astro Starlight)
    • …
  • Directorye2e/ test Playwright
    • …
  • Directorydeploy/ Dockerfile, compose, Coolify, CapRover
    • …
  • Directory.claude/ regole, skill e subagent per gli agenti
    • …
  • AGENTS.md
  • Makefile unica interfaccia per build, test e verifiche
  • internal/domain/* non importa net/http, internal/http/* né driver SQL: partecipa alle transazioni con bun.IDB.
  • internal/http/* non contiene SQL né logica di business: decodifica, chiama il servizio, codifica.
  • internal/domain/pricing non importa store, clock né usa time.Now.
  • pkg/ext non importa nulla di internal/.
  • Ogni query operativa filtra per establishment_id, preso dal contesto autenticato (EstablishmentScope), mai dal corpo della richiesta.
Generato Da
internal/http/api/*.gen.go api/openapi.yaml (oapi-codegen)
web/shared/api/generated/** api/openapi.yaml (openapi-typescript)
web/shared/src/map/kit/generated/**, internal/domain/mapping/kitassets_gen.go assets/map-kits (web/scripts/gen-map-kit.mjs)

Una coppia di file per ogni versione dello schema, con lo stesso numero, in internal/migrations/sqlite/ e internal/migrations/postgres/ (goose). Una migrazione già su main non si modifica mai: si aggiunge la successiva.