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
Regole di dipendenza
Sezione intitolata “Regole di dipendenza”internal/domain/*non importanet/http,internal/http/*né driver SQL: partecipa alle transazioni conbun.IDB.internal/http/*non contiene SQL né logica di business: decodifica, chiama il servizio, codifica.internal/domain/pricingnon importastore,clockné usatime.Now.pkg/extnon importa nulla diinternal/.- Ogni query operativa filtra per
establishment_id, preso dal contesto autenticato (EstablishmentScope), mai dal corpo della richiesta.
Codice generato
Sezione intitolata “Codice generato”| 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) |
Migrazioni
Sezione intitolata “Migrazioni”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.

