01
Sintesi esecutiva
Un ambiente digitale per l’intero ciclo del bridge.
GrandBridge è un applicativo mobile-first che porta in un’unica esperienza il gioco al tavolo, l’identità bridgistica, le relazioni tra giocatori, le carte delle convenzioni, le competizioni e gli strumenti operativi per chi organizza.
Contro il Robot ufficiale, con altre persone, in modalità sincrona o asincrona, riutilizzando lo stesso motore di bridge.
Decisioni del Robot motivate, cronologia delle azioni, punteggio deterministico e replay verificabile.
Profili selettivi, amici, inviti, coppie, convenzioni concordate e affidabilità calcolata dal sistema.
Tornei, movimenti, classifiche, ruoli del direttore e, in prospettiva, attività dei circoli.
Il telefono presenta l’esperienza; il motore applica le regole; il server decide lo stato competitivo; Postgres conserva identità, accordi, risultati e storia.
02
Identità del prodotto
Digitale senza perdere il carattere del tavolo.
GrandBridge non tratta il bridge come un semplice gioco di carte generico. L’interfaccia riproduce la logica visiva e temporale del gioco reale: bidding box, cartellini, sequenza della licita, morto ordinato per semi, presa visibile e transizioni che lasciano il tempo di leggere.
Obiettivi del prodotto
- rendere il bridge online contemporaneo, leggibile e adatto a telefoni e tablet;
- mantenere legalità, punteggio e risultati indipendenti dall’interfaccia;
- offrire un unico Robot ufficiale, stabile, veloce e capace di motivare le decisioni;
- proteggere carte private e risultati competitivi attraverso un server autorevole;
- costruire identità e relazioni senza trasformare dati privati in informazioni pubbliche;
- supportare nel tempo giocatori, coppie, direttori, circoli, organizzatori e partner.
Principi invarianti
03
Mappa funzionale
Le capacità della soluzione.
Gioco e motore di bridgeOperativo
Distribuzioni deterministiche per numero di board, dealer e vulnerabilità sul ciclo ufficiale di 16 board; licitazione con passo, contro e surcontro; determinazione di contratto, dichiarante, morto e attacco; gioco completo con obbligo di risposta al seme; conteggio prese e punteggio duplicate, compresi contratti contrati e surcontrati.
La macchina a stati governa le fasi della mano e può ricostruire lo stesso risultato a partire dagli stessi eventi.
Robot e convenzioniOperativo
Un solo Robot ufficiale per licita e gioco della carta: 16 reti neurali ONNX, stima posteriore, DDS selettivo e fallback interno dichiarato. La scelta è stata validata su 500 board identiche contro ogni motore precedente, sia sulla carta sia sull’intera partita.
Il catalogo delle convenzioni è nominato e versionato; gestisce dipendenze, incompatibilità, alternative esclusive e grado di supporto del Robot. Sono previste carte personali e fotografie immutabili della carta concordata dalla coppia.
Account, profilo e vita socialeOperativa
Accesso con email obbligatoria, profilo pubblico e privato separati, codice amico, livello bridgistico, dati federali dichiarati, avatar privato, lingue, disponibilità e pubblicazione selettiva di Paese, ASD e categoria.
Richieste di amicizia, persone seguite, blocchi bidirezionali, ricerca controllata, inviti e consultazione del sistema di licita pubblico. L’affidabilità e le partite completate sono dati calcolati dal sistema e non modificabili dal telefono.
Tavoli multiplayer realtimeIn completamento
Protocollo WebSocket versionato, quattro posti, spettatori, viste private, controllo di turno, comandi idempotenti, protezione da revisioni obsolete, heartbeat, token di riconnessione e ripristino dello stato dopo il riavvio del server.
Il nucleo server è implementato localmente. Restano la distribuzione pubblica del servizio, il collegamento completo tra presenza, inviti e tavoli persistenti, claim, annullamento, chat e collaudo prolungato con quattro dispositivi reali.
Storico e replayNucleo operativo
Archivio personale dei board conclusi, sequenza ordinata dei comandi, ricostruzione deterministica di licita e gioco delle 52 carte, verifica dello stato finale, delle prese e del punteggio N/S.
Traveller, confronto multi-tavolo, PBN, note, statistiche avanzate e analisi double-dummy appartengono all’estensione pianificata.
Sfide e competizioni asincroneOperative nel prodotto
Sfide private contro amici o robot, serie da 1 a 32 board, scadenza, ripresa dal checkpoint, distribuzioni identiche custodite dal server e confronto board-per-board in punti e IMP.
Gruppi, competizioni istantanee e daylong usano serie comuni e classifiche IMP o Matchpoint indipendenti dall’ordine di completamento. Manca ancora il collaudo operativo con account reali.
Torneo FIGB personaleOperativo
Una pagina autonoma, raggiungibile direttamente dal menu principale, individua il torneo FIGB in corso o l’ultimo giocato. La barra inferiore rende sempre accessibili Torneo, Curriculum e Classifica: Torneo presenta i principali dati dell’evento, ogni board del Curriculum apre il proprio dettaglio e la mappa del movimento resta una funzione interna.
Il dettaglio di ciascun board — distribuzione delle carte, par, analisi double-dummy, frequenze di sala e replay con il Robot ufficiale — diventa disponibile appena FIGB acquisisce il risultato dell’utente su quella mano, anche prima della conclusione del torneo. I board non ancora acquisiti restano nascosti.
Tornei realtimeFondazione operativa
Schema dati per tornei, direttori, iscrizioni, lista d’attesa, coppie o squadre, turni, tavoli, risultati, classifiche, penalità, contestazioni e audit. Sono implementati movimenti Mitchell e Howell, accoppiamenti Swiss, tabelloni knockout, cronometro, verifica dei risultati e classifica esportabile.
Nell’app è disponibile la creazione del primo torneo privato a coppie Mitchell e l’iscrizione. Restano da collegare i tavoli generati alle stanze realtime e da completare il percorso del direttore turno per turno.
Circoli e attività ordinariaPianificata
Circoli pubblici o privati, ruoli, membri, calendario, comunicazioni, tornei riservati, classifiche interne, distribuzioni preparate, correzioni, sostituzioni ed esportazioni federali autorizzate.
Spettatori, trasmissioni e comunicazionePianificate
Kibitzing con ritardo, tavoli in evidenza, commentatori, regia multi-tavolo, replay commentato, chat privata e di evento, messaggi offline, traduzione, moderazione e audio/video opzionali.
Ecosistema e sostenibilitàPianificati
Integrazioni federali tramite accordi ufficiali, badge, classifiche GrandBridge, abbonamenti, quote torneo, rimborsi, rendicontazione, API per partner, localizzazione e accessibilità avanzata.
04
Come funziona
Dal primo accesso al risultato verificabile.
- Identità
Il giocatore accede con un’identità non anonima, completa il profilo e decide quali informazioni rendere pubbliche.
- Relazioni e sistema
Aggiunge amici, configura la propria carta delle convenzioni e può concordarne una versione con il partner.
- Scelta dell’esperienza
Entra in un tavolo, accetta una sfida asincrona o si iscrive a una competizione o a un torneo.
- Assegnazione del board
Il server identifica giocatori, posti e condizioni, custodisce la distribuzione e prepara una vista privata per ciascun partecipante.
- Licita e gioco
Ogni comando dichiara board e revisione attesa. Il server verifica identità, turno e legalità prima di modificare lo stato.
- Persistenza
Dopo una transizione valida vengono aggiornati checkpoint ed eventi ordinati, senza affidarsi allo stato del telefono.
- Risultato
Prese, contratto e punteggio sono determinati dallo stesso motore. La modalità decide quando rendere visibili confronti e classifiche.
- Storico
A board concluso, la sequenza può essere riprodotta e verificata; statistiche e traveller potranno aggregare più tavoli.
05
Persone e responsabilità
Una sola app, funzioni diverse per ruolo.
Il ruolo non crea un prodotto separato: modifica il perimetro delle operazioni disponibili nella stessa applicazione. Le autorizzazioni sono riferite alla singola risorsa, non soltanto al nome del ruolo.
Giocatore
Gestisce profilo, relazioni e sistema; gioca, consulta storico, partecipa a sfide e si iscrive agli eventi consentiti.
Partner / coppia
Concorda e pubblica una carta di sistema versionata; partecipa come unità nelle competizioni a coppie.
Organizzatore
Crea un evento e ne definisce formato, capienza, tempi, movimento, condizioni di accesso e punteggio.
Direttore di torneo
Gestisce check-in, turni, tavoli, sostituzioni, correzioni, penalità, contestazioni e avanzamento dell’evento assegnato.
Responsabile di circolo
Amministra membri, calendario, comunicazioni, eventi e classifiche del proprio circolo.
Spettatore
Segue i tavoli consentiti con visibilità controllata; il ritardo competitivo e la trasmissione evoluta sono pianificati.
Commentatore / moderatore
Opera su trasmissioni e comunicazioni di uno specifico evento, con accessi e registri adeguati.
Staff di piattaforma
Gestirà assistenza globale, privacy, sospensioni e operazioni economiche in una futura superficie interna separata.
Federazione / partner
Accede soltanto a integrazioni, esportazioni e API formalmente autorizzate, senza controllo implicito sui dati personali.
Chi gestisce una risorsa assegnata opera nella normale app GrandBridge. Chi può intervenire trasversalmente su utenti, denaro o dati dell’intera piattaforma richiederà una superficie interna separata.
06
Architettura applicativa
Un monolite modulare con responsabilità nette.
L’architettura attuale evita microservizi prematuri. La soluzione è suddivisa in componenti indipendenti sul piano logico e testabili separatamente.
App React
Tavolo, bidding box, profilo, lobby e aree operative per ruolo. Conserva localmente soltanto preferenze di interfaccia e sessione.
Motore TypeScript
Legalità, transizioni, prese, punteggio, robot, proiezioni private ed eventi deterministici, indipendenti da React e dal database.
Server autorevole
Verifica identità, assegna posti, ordina i comandi, gestisce riconnessione e timer, produce viste personalizzate e persiste gli eventi confermati.
Supabase Auth
Gestisce account, sessioni, magic link e futuri provider social. Le build distribuite richiedono email e rifiutano utenti anonimi.
Postgres
Conserva profili, relazioni, convenzioni, sessioni, board, eventi, sfide, tornei, risultati, ruoli e audit con modelli relazionali.
Storage
Conserva asset utente come gli avatar in spazi privati, accessibili tramite regole specifiche e collegamenti temporanei.
Scelte intenzionalmente escluse nella fase attuale
- microservizi indipendenti senza un reale bisogno di scala o isolamento;
- scambio peer-to-peer delle carte o fiducia nel telefono per risultati competitivi;
- logica di bridge inserita nelle policy del database;
- un’unica struttura JSON usata per tutti i domini;
- una seconda applicazione gestionale prima che esistano operazioni globali reali.
07
Dati, sicurezza e verificabilità
La fiducia non è affidata all’interfaccia.
Identità
Le build distribuite richiedono un account con email. Il server realtime verifica il token prima di accettare un giocatore quando opera in modalità autenticata.
Privacy selettiva
Email, nascita, tessera e codice ASD restano privati. Paese, lingue, disponibilità, ASD e categoria vengono pubblicati soltanto su scelta del giocatore.
Carte private
Ogni partecipante riceve soltanto la propria mano. Il morto e le altre carte diventano visibili esclusivamente quando le regole lo consentono.
Autorizzazione
Le tabelle esposte utilizzano Row Level Security. Nascondere un pulsante non concede né revoca un permesso: il controllo avviene sui dati e sul server.
Persistenza verificabile
Il sistema conserva checkpoint compatti e una sequenza append-only di eventi, utile a riconnessione, replay, audit e analisi.
Riconnessione
I token sono conservati come hash e ruotati dopo il rientro. Un riavvio può ripristinare stato e posti senza ricostruire la partita dal telefono.
Integrità competitiva
Board, revisioni, turni e comandi sono verificati. Una ritrasmissione non duplica un’azione e un client rimasto indietro viene riallineato.
Audit operativo
Correzioni, penalità e interventi del direttore producono un registro attribuibile; le funzioni future dello staff seguiranno lo stesso principio.
Le chiavi privilegiate e i segreti del servizio appartengono esclusivamente all’ambiente server e non vengono inclusi nell’app o nella documentazione pubblica.
08
Modello gestionale
Una sola applicazione, fino a quando è la scelta giusta.
GrandBridge mantiene una superficie utente unica. Le viste per direttori e responsabili possono assumere un layout desktop più denso, ma restano nello stesso prodotto, con la stessa identità e gli stessi servizi.
| Tipo di operazione | Superficie prevista |
|---|---|
| Gestione del proprio profilo, tavolo o iscrizione | App GrandBridge |
| Gestione di un torneo o circolo assegnato | App GrandBridge, area attivata per ruolo |
| Check-in, turni, risultati, penalità e contestazioni | App GrandBridge, vista direttore ottimizzata per desktop |
| Database, autenticazione e infrastruttura | Console dei fornitori autorizzata agli sviluppatori |
| Assistenza globale, privacy, sospensioni e rimborsi | Futura superficie interna, soltanto quando necessaria |
La comparsa di un modello economico non implica automaticamente una console proprietaria. Pagamenti e fatture possono inizialmente essere amministrati negli strumenti del fornitore; GrandBridge costruirà soltanto le funzioni operative specifiche che non possono essere delegate.
09
Distribuzione e operatività
Dove vive oggi GrandBridge.
Web App e APK includono le correzioni di adattamento ai telefoni, il PAR nel replay, la gestione dei claim e del risultato finale, la cronologia delle partite e le spiegazioni delle licite. Leggi le novità e le verifiche effettuate.
10
Stato e percorso di evoluzione
Dal prototipo giocabile alla piattaforma.
Motore, tavolo, licita, gioco, punteggio e robot deterministico.
Account, profili separati, amici, blocchi, convenzioni e carte di coppia.
Server autorevole e ripristino implementati; distribuzione e collaudo reale da completare.
Replay verificabile, sfide, gruppi, daylong e classifiche.
Schema, motori e prima UI presenti; operatività multi-tavolo end-to-end ancora aperta.
Attività ordinaria, ruoli, calendario, comunicazioni, correzioni ed esportazioni.
Spettatori ritardati, commentatori, moderazione, chat e audio/video opzionali.
Analisi anomalie, federazioni, accessibilità, abbonamenti, quote e API partner.
Verifiche operative ancora necessarie
- percorso completo con almeno due account reali per profilo, amicizia, sistema e sfide;
- almeno 20 board con quattro dispositivi, compresi perdita di rete e rientro;
- torneo privato multi-tavolo concluso con movimento, tempi e classifica verificata;
- monitoraggio, prove di carico e simulazione di reti mobili instabili prima della beta pubblica.
11
Contesti di adozione
Una base per più modelli, senza anticiparli.
Gioco individuale
Esperienza personale contro robot, configurazione del sistema e analisi delle mani.
Comunità di giocatori
Amici, coppie, sfide, gruppi, daylong e reputazione collegata alle partite effettive.
Circoli e ASD
Calendario, tornei riservati, membri, classifiche interne e gestione operativa degli eventi.
Organizzatori
Eventi competitivi, movimenti, cronometro, audit del direttore, esportazioni e contestazioni.
Federazioni e partner
Integrazioni circoscritte ad accordi, API autorizzate e separazione tra dichiarazioni e verifiche ufficiali.
Modello economico
Abbonamenti, quote torneo e servizi premium isolati dal motore di gioco e contabilmente verificabili.
12
Perimetro documentale
Che cosa identifica la soluzione GrandBridge.
Ai fini di presentazione, valutazione e confronto con terze parti, il prodotto è composto da un insieme coerente di elementi:
- codice sorgente dell’applicazione React/TypeScript e del contenitore mobile;
- motore di bridge, macchina a stati, punteggio, robot e regole supportate;
- protocollo e server autorevole per il gioco realtime e asincrono;
- modello dati, migrazioni, policy di accesso, replay e registri di audit;
- interfaccia, flussi di interazione, design system e rappresentazione digitale del tavolo;
- catalogo strutturato delle convenzioni e modello delle carte personali e di coppia;
- documentazione di prodotto, architettura e roadmap versionata.
Questo dossier ha finalità descrittiva e di tracciamento del prodotto. Per un deposito formale, una registrazione o una valutazione legale devono essere conservati separatamente gli artefatti richiesti, le versioni del codice e le evidenze di data e titolarità secondo la procedura applicabile.