Novità
Le funzionalità introdotte in ogni versione di ASGARD Booking
v2.2.0
Novità
- Nickname e privacy del nome: ogni utente ha un nickname (max 30 caratteri, facoltativo in registrazione; se vuoto diventa "Nome I.") modificabile dal profilo. Con l'opzione "Mostra solo il mio nickname agli altri utenti" — attiva di default per le nuove registrazioni, spenta per chi era già iscritto — gli altri utenti vedono solo il nickname in iscritti, lista d'attesa, tavoli, "Creato da" e nelle email dei tavoli. Il cognome non viene nemmeno inviato al browser; ADMIN e MODERATORE vedono sempre nome e cognome.
- Sondaggio "Come ci hai conosciuti?" (Passaparola, Social, Eventi, Altro) facoltativo nei due form di registrazione. In Statistiche il nuovo tab Provenienza mostra la quota di ciascuna fonte sui rispondenti, il tasso di risposta (calcolato sugli iscritti dal giorno di attivazione del sondaggio), la suddivisione per ruolo, le risposte libere "Altro" e l'andamento per mese di registrazione. Il tab è disponibile anche prima del primo evento concluso.
- Numero di versione visibile in fondo alla barra laterale e nel footer pubblico.
Miglioramenti
- API v1: GET /api/v1/events senza il parametro status restituisce solo gli eventi pubblicati e già visibili sul sito; bozze ed eventi a pubblicazione programmata vanno richiesti esplicitamente con ?status=.
Aggiornamenti di sicurezza
Correzioni (3)
- Gli eventi a pubblicazione programmata non sono più consultabili tramite link diretto prima della data di pubblicazione, né dalla pagina pubblica né da quella riservata agli utenti (lo staff continua a vederli).
- L'elenco dei tavoli di una serata è disponibile a chiunque possa vedere l'evento, come già la pagina dell'evento, e non solo a chi è prenotato.
- Eliminare un evento non cancella più la locandina se è ancora usata da altri eventi: le serate clonate o create come serie ricorrente condividono lo stesso file, e cancellarne una faceva sparire l'immagine da tutte le altre.
v2.1.0
Novità
- Difficoltà del gioco sui tavoli: il valore viene letto da BoardGameGeek (averageweight, scala 1–5) quando il gioco è stato scelto dalla ricerca, altrimenti si sceglie a mano fra cinque livelli. In elenco compare come pallini colorati su riga propria, con etichetta e valore numerico; i tavoli senza difficoltà non mostrano nulla.
- Scala delle diciture di difficoltà più severa, per non far passare per "leggero" un gioco che leggero non è.
- Recupero del Favore per ogni evento saltato: il conguaglio di fine evento restituisce favor_recovery_per_missed_event punti (default 1, tetto max_favor) a ogni Ospite attivo senza prenotazione confermata — mai prenotato, prenotazione annullata o rimasto in lista d'attesa. Prima il Favore poteva solo scendere, e chi frequentava spesso restava bloccato a zero in fondo alla coda per sempre. Esclusi i no-show, che hanno già la loro penalità, gli iscritti dopo la fine dell'evento e gli eventi non aperti agli Ospiti. Nuovo parametro in /admin/config; endpoint e crontab invariati.
Correzioni (1)
- Entità HTML nei titoli dei giochi importati da BGG (&, ") e durate non multiple di 15 minuti.
v2.0.0
Novità
- Orario e durata per ogni tavolo: un tavolo occupa una fascia oraria e non più l'intera serata. Un utente non può occupare due tavoli sovrapposti, con il controllo ripetuto al momento della conferma perché nel frattempo la situazione può essere cambiata. La durata viene proposta a partire dal tempo di gioco dichiarato su BGG.
- Più tavoli per persona: fino a 10 tavoli creati per evento e possibilità di sedersi a più tavoli in fasce orarie diverse. Chi organizza un tavolo a cui non giocherà non occupa un posto.
- Tavoli a inviti: i giocatori vengono invitati e ricevono un'email, non vengono iscritti d'ufficio. L'invitato accetta o rifiuta dal proprio account; il rifiuto libera il posto e avvisa l'organizzatore, che può gestire la lista e reinvitare chi aveva rifiutato. I tavoli a inviti sono visibili solo a chi ne fa parte.
- Orario di arrivo personale, mostrato accanto al partecipante quando differisce dall'inizio del tavolo; gli invitati in attesa di risposta compaiono in grigio.
Correzioni (1)
- Seed dimostrativo allineato al nuovo modello delle sedute.
v1.4.1
Aggiornamenti di sicurezza
Correzioni (4)
- Lista d'attesa: pulsante per uscirne, promozione automatica quando la capienza dell'evento viene aumentata, e guardia quando viene ridotta.
- Check-in vincolato all'evento selezionato: scansionando un codice di un altro evento la registrazione veniva accettata comunque.
- L'annullamento di una prenotazione ora libera i posti occupati ai tavoli ed elimina i tavoli creati da chi si cancella.
- Link a Google Maps in formato universale, così su cellulare si apre l'app sulla posizione giusta invece della ricerca generica.
v1.4.0
Novità
- Dashboard statistiche (/admin/statistiche), con sezioni separate per serate, manifestazioni e biglietteria: presenti rispetto ai prenotati, tassi di assenza e di annullamento con anticipo medio, tavoli per numero di giocatori seduti, giochi più giocati e serie storica con granularità giorno / settimana / mese / anno. In fondo le classifiche dei 20 più presenti e dei 10 con più assenze e più annullamenti.
- Lista utenti paginata, con l'attività di check-in di ciascuno in vista.
- Chi partecipa per la prima volta viene evidenziato in tutte le schermate di check-in, così allo sportello si sa chi accogliere.
v1.3.0
Novità
- Lista eventi admin ridisegnata a righe, con menu contestuale e dettaglio apribile in linea al posto delle schede.
- Eventi ordinati per imminenza, con badge rosso su quelli conclusi.
- Filtro per gruppo di ruoli e casella di ricerca nella lista utenti.
- La ricerca BGG restituisce tutti i risultati invece dei primi pochi, caricando le miniature a blocchi di 20.
- Le prenotazioni passate sono divise fra quelle con check-in e le assenze.
- Link a Privacy e Termini nella navigazione dell'app.
Miglioramenti
- Il ruolo dello staff si chiama ora Moderatore e non più Operatore.
Correzioni (2)
- Gli eventi in corso restano visibili fino a endsAt invece di sparire all'ora di inizio.
- Badge "Attesa verifica email" per gli utenti attivi che non hanno ancora confermato l'indirizzo.
v1.2.1
Aggiornamenti di sicurezza
Correzioni (1)
- Check-in diviso fra "da fare" e "arrivati", con aggiornamento manuale: con più dispositivi allo sportello le liste ora restano allineate.
v1.2.0
Novità
- Note libere sui tavoli (fino a 100 caratteri) e nomi dei partecipanti visibili in elenco.
Correzioni (3)
- Home e pagina pubblica dell'evento mostrano la disponibilità per gli ospiti, non il totale dei posti: prima un evento con soli posti soci liberi risultava disponibile a chiunque. Tre stati con etichette e colori coerenti: posti disponibili, posti esauriti, riservato ai soci.
- Layout delle schede iscritti e tavoli rifatto per lo schermo del telefono.
- Chip dei filtri admin a scorrimento orizzontale invece che a capo, dopo tre tentativi di farli andare a capo senza rompere il layout.
v1.1.1
Correzioni (1)
- Link al Regolamento raggiungibile dal menu utente su cellulare.
v1.1.0
Novità
- Pagina pubblica Termini di servizio e sezione di apertura in homepage, richieste dalla verifica del branding di Google OAuth.
Correzioni (3)
- L'amministratore creato dal seed non viene più declassato la prima volta che completa la registrazione.
- Nelle serie ricorrenti anche la data di pubblicazione programmata slitta evento per evento, invece di restare quella del primo.
- Le foto profilo scattate col telefono rispettano l'orientamento EXIF e non arrivano più ruotate.
v1.0.0
Novità
- Pagina Regolamento: spiega la differenza fra Ospiti e Soci e come funziona il Favore delle Valchirie.
- Limite di un solo tavolo con iscrizione automatica per gli Ospiti.
Correzioni (5)
- Tutte le notifiche di pubblicazione passano dal cron invece di partire in linea alla creazione: prima un evento programmato poteva non avvisare nessuno.
- Gli handler dei cron sono esclusi dal rendering statico di Next.js: venivano pre-renderizzati in fase di build e curl riceveva una risposta in cache senza eseguire nulla.
- Le notifiche dei nuovi tavoli vengono attese, così gli errori SMTP diventano visibili.
- L'Operatore è trattato come socio per quota di prenotazione e notifiche.
- Creare un tavolo non implica più sedercisi.
v0.9.0
Novità
- Clonazione di un evento come bozza.
- Serie ricorrenti: fino a 52 date generate in un colpo solo, con intervallo, durata e anticipo Valchirie, e anteprima delle date prima di confermare.
- Filtri sulla lista eventi (tutti / attivi / futuri / passati / bozze).
- Penalità per chi non si presenta: il cron di fine evento sottrae noshow_cost agli Ospiti prenotati che non hanno fatto check-in.
- Data di fine obbligatoria sugli eventi e finestra di apertura del check-in configurabile in minuti.
Aggiornamenti di sicurezza
Correzioni (4)
- Salvataggio di noshow_cost, errori di autenticazione BGG più chiari, validazioni incrociate nel form evento e date sulle schede.
- CSP: aggiunto places.googleapis.com per l'autocomplete degli indirizzi.
- Le route dei cron escluse dal middleware di autenticazione.
- Gli errori di invio email compaiono nella risposta del cron di pubblicazione.
v0.8.0
Novità
- Foto profilo e preferenze di gioco del giocatore.
- Pubblicazione programmata: publishedAt può essere una data futura, l'evento resta invisibile agli utenti e il cron /api/cron/publish-events manda le notifiche quando diventa pubblico.
- Data di apertura Valchirie per evento e nuova formula del ritardo, proporzionale alla finestra fra pubblicazione e apertura invece che a un numero fisso di ore.
- Gestione dei crediti Valchirie da pannello admin, sul singolo utente o in blocco su tutti gli Ospiti.
- Notifiche email alla creazione di un nuovo tavolo, per chi partecipa all'evento.
- La locandina viene cancellata dallo storage quando si elimina l'evento.
Aggiornamenti di sicurezza
Correzioni (2)
- L'Operatore può eliminare utenti Socio e Ospite.
- Descrizione evento nulla accettata dallo schema di validazione.
v0.7.0
Novità
- Locandine su Oracle Cloud Object Storage, con ricaduta automatica sul disco locale se lo storage non è configurato.
- Email del responsabile della protezione dati configurabile, riportata nella privacy policy e nel footer.
Correzioni (3)
- Fuso orario Europe/Rome applicato a tutte le date formattate lato server: gli orari degli eventi comparivano sfasati.
- L'Operatore compariva come Ospite nella lista iscritti; riviste le restrizioni di cancellazione per ruolo.
- Credenziali OCI ripulite dagli spazi e messaggio di errore specifico quando l'upload fallisce.
v0.6.0
Novità
- Favore delle Valchirie: gli Ospiti partono con il favore al massimo e possono prenotare subito; ogni check-in ne consuma una parte e il ritardo con cui si sblocca la prenotazione cresce di conseguenza. Barra del favore nel profilo, conto alla rovescia al posto del messaggio di blocco, codici promozionali monouso per ricaricare, parametri max_favor e favor_cost_per_event da pannello.
- Parametro ?include=contact sulle API v1 per esporre i campi di contatto.
Aggiornamenti di sicurezza
v0.5.0
Novità
- Sito pubblico: homepage con i prossimi eventi, pagina di dettaglio /evento/[id] e pagina contatti, tutte accessibili senza account.
- Locandine degli eventi: upload, ottimizzazione con sharp e visualizzazione in elenco.
- Autocomplete Google Maps sull'indirizzo dell'evento.
- Ruolo Operatore: accesso al pannello escluse configurazione e token API.
Aggiornamenti di sicurezza
Correzioni (1)
- Sei iterazioni sul selettore dell'indirizzo: tendina tagliata dal bordo della scheda, conflitto fra React e la libreria Maps, doppia inizializzazione, migrazione alla nuova Places API.
v0.4.0
Novità
- API REST v1 in sola lettura su /api/v1: utenti, eventi e prenotazioni, con paginazione e filtri. Accesso tramite token emessi dall'admin, salvati come hash SHA-256 e mai in chiaro, con limite di 60 richieste al minuto. Pagina /admin/api-tokens per emettere e revocare, documentazione pubblica su /api-docs e manuale API.md.
- Lo stato dell'evento (bozza / pubblicato) è ora separato dalla visibilità (tutti / soci / ospiti).
- Data e ora di annullamento registrate sulla prenotazione.
v0.3.0
Novità
- Manifestazioni con biglietteria: nuovo tipo di evento e sezione /admin/biglietteria per registrare sul posto chi si presenta senza account, con codice, QR e pagina di stampa del biglietto.
- SMTP personalizzato in alternativa a Gmail, con selettore SSL/TLS, STARTTLS o nessuna cifratura.
- Storico delle prenotazioni annullate e annullamento dell'evento da parte dell'admin con notifica a tutti gli iscritti.
- Rinuncia alle email sui nuovi eventi, con link di disiscrizione.
- L'admin può annullare prenotazioni e revocare check-in.
- Cambio ruolo fra Socio e Ospite dal pannello utenti.
- Immagini dei giochi da BGG nella tendina di ricerca, nella creazione tavolo e in elenco.
- Iscritti e lista d'attesa consultabili anche senza aver prenotato.
- Nome dell'associazione e indirizzo di contatto nelle email presi dalla configurazione.
- Selettore dell'account Google forzato a ogni accesso.
- Token BGG mascherato nella pagina di configurazione come le password.
Correzioni (5)
- La fotocamera si spegneva durante la scansione dei QR; pausa dell'overlay ridotta da 3 a 1 secondo.
- Aggiornamento della lista in biglietteria e presenza dei biglietti da sportello nella lista di check-in.
- Il link di disiscrizione usa NEXTAUTH_URL invece dell'URL della richiesta, che dietro proxy era sbagliato.
- L'eliminazione di un evento rimuove anche i biglietti da sportello collegati.
- Non era più possibile iscriversi a un secondo tavolo avendone già uno.
v0.2.0
Novità
- Pagina admin con l'elenco degli iscritti e la lista d'attesa; i nomi in lista d'attesa sono visibili a chi ha prenotato.
- Token BGG letto dalla configurazione e usato come autenticazione Bearer sulla nuova API v2 di BoardGameGeek.
- Banner cookie e privacy policy conformi al GDPR.
- Ci si può iscrivere e disiscrivere dai tavoli creati da altri.
- Pulsante "Tavoli e partecipanti" sulle schede evento.
- Loghi ASGARD e Tana dei Goblin nell'interfaccia.
Correzioni (6)
- Il link di verifica dell'email non funzionava dietro reverse proxy.
- Gli utenti Google finivano per errore sulla pagina "email non verificata".
- Ciclo infinito sul completamento della registrazione: il token di sessione non veniva aggiornato dopo il salvataggio.
- Selettori a schede di login, check-in e dettaglio evento inutilizzabili su cellulare.
- Le immagini pubbliche venivano bloccate dal controllo di autenticazione.
- QR nelle email inviato come allegato invece che come immagine incorporata, che molti client rifiutavano di mostrare.
v0.1.0
Novità
- Accesso con Google e con email e password, con verifica dell'indirizzo e recupero della password.
- Ruoli Amministratore, Socio e Ospite; i Soci richiedono approvazione, gli Ospiti sono attivi subito.
- Creazione e gestione degli eventi con capienza separata per soci e ospiti.
- Prenotazioni con codice alfanumerico e QR code inviato per email.
- Check-in tramite scansione del QR.
- Lista d'attesa con promozione automatica del primo in coda quando si libera un posto.
- Tavoli da gioco con ricerca dei titoli su BoardGameGeek.
- Pannello di amministrazione e configurazione dell'invio email da database.