ZitaSmart

Piattaforma SaaS multi-tenant per prenotazioni di attività di servizi (saloni, cliniche, consulenti). Gestione appuntamenti, operatori, servizi e abbonamenti.

Next.js React TypeScript Tailwind CSS .NET Core PostgreSQL EF Core JWT Cloudinary

Panoramica

ZitaSmart è un sistema full-stack di booking per attività di servizi. Offre multi-tenancy con ruoli (SuperAdmin, TenantAdmin, Worker, Client), gestione prenotazioni con stati e piani abbonamento flessibili (Free, Basic $20, Professional $50, Enterprise $100). Cloudinary abilita branding tenant e gestione immagini.

Architettura

Architettura monorepo (pnpm + Turbo) con frontend Next.js 15 e backend .NET Core. Il backend usa Clean Architecture: WebApi -> Application (CQRS) -> Domain -> Infrastructure (EF Core + PostgreSQL). Database con schemi identità, multi-tenancy, booking e pagamenti.

Next.js .NET API Application Domain Infrastructure PostgreSQL

Decisioni tecniche chiave

Monorepo con pnpm + Turbo per codice condiviso, build rapide e CI/CD unificata

Next.js 15 App Router per server components, SEO e pattern React moderni

.NET Clean Architecture per separazione responsabilità e manutenibilità

EF Core con PostgreSQL per dati relazionali e migrazioni

JWT + Refresh Token per autenticazione stateless sicura con rotazione

Soft Delete per retention logica e filtri globali

Repository generici per applicare DRY nelle CRUD

Piani multi-tier con limiti d uso per livello

Sfide

Concorrenza: gestire prenotazioni simultanee sullo stesso slot

Isolamento multi-tenant con query efficienti

Applicare limiti piano su operatori, servizi e prenotazioni

Disponibilità operatori con logiche di eccezioni e ferie

Integrazione pagamenti con upload prova manuale e sessioni

Compromessi

Complessità monorepo vs deploy indipendenti

EF Core (produttività) vs SQL raw (performance)

Repository generici (DRY) vs query specifiche

JWT stateless vs session management tradizionale

Coupling frontend/backend vs SOA per iterare più veloce in MVP

Risorse