1. 01. Cosa Facciamo
  2. 02. Come Lavoriamo
  3. 03. Case Studies
  4. 04. Ultimi Articoli
  5. 05. Eventi
  6. 06. Richiedi un Preventivo
  7. 07. Contattaci

Indice

  • Panoramica
    • Caratteristiche Principali
    • Obiettivi & Requisiti
    • Processo
    • Tecnologie Utilizzate
  • Funzionalità
    • Gestione Hotel e Ristoranti
    • Gestione Eventi
    • Gestione Richieste Gruppi
    • Rooming List
    • Assegna Camere
    • Situazione Contabile
  • Caratteristiche software
    • CRUD entità e versioning
    • Gestione Rooming List
    • End-to-end typesafe API
    • Gestione degli errori
    • Import e export di dati
    • Generazione massiva di documenti

Triumph Tools

Triumph Tools è una web app per gestire hotel e allotment del Giro d'Italia e altre gare, con strumenti per preventivazione e rendicontazione dettagliata.

Triumph Tools è una web app sviluppata per gestire in modo efficiente hotel e allotment delle tappe del Giro d'Italia e di altre gare ciclistiche. La piattaforma permette la mappatura di eventi e l'offerta di strumenti avanzati per preventivazione e rendicontazione, centralizzando tutte le informazioni e migliorando l'efficienza operativa.

Panoramica

Caratteristiche Principali

  • Gestione delle tappe e storico gare
  • Gestione hotel e strutture ricettive
  • Rooming list e prenotazioni
  • Centralizzazione dei dati

Obiettivi & Requisiti

  • Migliorare l'efficienza degli operatori e ridurre errori e stress, digitalizzando le informazioni raccolte manualmente.
  • Necessaria la centralizzazione dei dati e l'automazione dei processi per una gestione fluida e precisa degli eventi, con particolare attenzione alla raccolta delle informazioni sugli hotel e sulla disponibilità.

Processo

Il progetto ha coinvolto l'analisi dei flussi di lavoro esistenti e l'ottimizzazione dei processi operativi, concentrandosi sull'integrazione delle funzionalità in un sistema efficiente. Dopo l'analisi iniziale, sono stati sviluppati e testati moduli incrementali, con feedback continuo degli utenti per affinare il prodotto finale. Questo processo iterativo ha garantito un software gestionale completo e pronto all'uso.

Tecnologie Utilizzate

  • Frontend: Vue 3, PrimeVue, Tailwind CSS, FullCalendar, Tanstack Query
  • Backend: Fastify, tRPC, Superjson, Node.js, MongoDB, Puppeteer, Handlebars

Funzionalità

Gestione Hotel e Ristoranti

Gestione Hotel e Ristoranti La gestione degli hotel consente di visualizzare e modificare le informazioni relative agli hotel associati a vari eventi. Gli utenti possono gestire dettagli come nome, città, indirizzo, numero di telefono e numero di eventi per cui l'hotel è stato utilizzato. Inoltre, è possibile visualizzare le informazioni relative ai ristoranti associati a ciascun hotel, come nome e numero di telefono.

Gestione Eventi

Gestione Eventi La gestione degli eventi consente di visualizzare e modificare le informazioni relative agli eventi gestiti. Gli utenti possono gestire dettagli come la data di inizio e fine, il numero di tappe, e lo stato dell'evento, ad esempio attivo o concluso. Il calendario delle fasi dell'evento mostra le diverse fasi di un evento, con informazioni sulla località di riferimento, il periodo e la tipologia della fase, come tappe o giorni di riposo.

Gestione Richieste Gruppi

Gestione Richieste Gruppi La gestione delle richieste di gruppi per un evento consente di visualizzare e modificare le informazioni relative alle richieste di gruppi. Gli utenti possono gestire dettagli come date, sistemazioni, parcheggi e lo stato della richiesta, come confermata o annullata. All'interno di ogni richiesta è possibile personalizzare le richieste che differiscono dalle casistiche standard per ogni partecipante in base alle esigenze specifiche per la singola tappa.

Rooming List

Rooming List La rooming list mostra la lista delle assegnazioni di camere per un evento, con un riepilogo dettagliato delle prenotazioni per un singolo partecipante, incluso il totale delle spese e le notti prenotate. In questa schermata è necessario visualizzare contemporaneamente tutte le assegnazioni dell'evento, gestendo quindi diverse migliaia di informazioni.

Assegna Camere

Assegna Camere La schermata di assegnazione delle camere consente agli organizzatori di selezionare un hotel per un determinato gruppo e fase dell'evento. Vengono visualizzate le camere disponibili, la scadenza delle opzioni e altre note rilevanti. Ogni ricerca è effettuata in base a filtri specifici, come il numero di camere richieste e la tipologia di camera. Sono inseriti anche filtri secondari non obbligatori per identificare le camere più adatte ed economicamente vantaggiose.

Situazione Contabile

Situazione Contabile La situazione contabile dell’evento mostra un riepilogo contabile, con spese totali, importi pagati e importi ancora da pagare. Mostra i dettagli per ogni hotel, con informazioni su pagamenti, margini e note aggiuntive.

Caratteristiche software

CRUD entità e versioning

Le entità sono state implementate con un sistema CRUD completo, consentendo agli utenti di creare, leggere, aggiornare ed eliminare informazioni relative a hotel, eventi e richieste di gruppi. E' presente una ricerca rapida, un sistema di filtri, paginazione e ordinamento, e la visualizzazione di informazioni dettagliate per ogni entità. Ogni modifica effettuata è versionata per consentire il ripristino delle versioni precedenti. Nella fase di creazione e modifica delle entità, sono stati implementati controlli di validazione lato backend per garantire l'integrità dei dati inseriti e lato frontend per anticipare la risoluzione di errori.

Gestione Rooming List

La rooming list richiede la gestione di un gran numero di informazioni, con la necessità di visualizzare e modificare le assegnazioni delle camere per ogni partecipante. Oltre all'implementazione dei filtri per limitare le informazioni visibili alle sole rilevanti per l'utente, il caso peggiore computazionalmente è stato gestito con la virtualizzazione di una tabella, che consente di visualizzare solo le righe necessarie per il rendering della pagina. Questo approccio ha permesso di gestire le diverse migliaia di informazioni necessarie senza compromettere le prestazioni dell'applicazione.

End-to-end typesafe API

L'API è stata implementata con tRPC e superjson, garantendo che le chiamate API siano sempre coerenti con i tipi di dati definiti nel frontend. Questo approccio ha semplificato la gestione dei dati e ridotto il rischio di errori durante le comunicazioni tra il frontend e il backend. Inoltre, è stato implementato un sistema di autenticazione e autorizzazione per garantire che solo gli utenti autorizzati possano accedere a determinate funzionalità e dati sensibili.

Gestione degli errori

La gestione degli errori è stata implementata in modo da garantire che gli utenti ricevano feedback chiari e utili in caso di problemi durante l'utilizzo dell'applicazione. Sono stati implementati messaggi di errore personalizzati e un sistema di logging per monitorare e risolvere eventuali problemi in modo tempestivo. Inoltre, sono stati implementati controlli di validazione per garantire che i dati inseriti siano corretti e coerenti.

Import e export di dati

L'applicazione consente di importare ed esportare dati in formato CSV, facilitando la gestione delle informazioni e l'integrazione con altri sistemi. Gli utenti possono caricare file CSV contenenti informazioni sugli hotel, eventi e richieste di gruppi, e l'applicazione gestisce automaticamente la creazione o l'aggiornamento delle entità corrispondenti. Inoltre, è possibile esportare le informazioni in formato CSV per una facile condivisione e analisi.

Generazione massiva di documenti

L'applicazione consente la generazione massiva di documenti, come contratti e fatture, per semplificare la gestione delle informazioni e ridurre il carico di lavoro degli operatori. Gli utenti possono selezionare più entità e generare documenti personalizzati in base a modelli predefiniti. Per la generazione dei singoli documenti è stato utilizzato Handlebars per la creazione di template HTML, che sono stati poi convertiti in PDF utilizzando Puppeteer. Questo approccio ha permesso di creare documenti professionali e personalizzati in modo rapido ed efficiente. Essendo documenti massivi per un numero elevato di richieste, è stato implementato un sistema di coda per la generazione dei documenti e una compressione dell'archivio in ZIP, che consente di gestire le richieste in modo efficiente e di evitare sovraccarichi del server.

Altri case studies

Vedi tutti

    Our Website

    Il nostro sito presenta lavori, progetti, contatti e un blog con approfondimenti su metodologie e tecnologie, offrendo una visione completa del nostro operato.

      Flos Maleficarum

      Un’esperienza immersiva in AR e VR per riflettere sul tema della violenza di genere, realizzata in occasione dello spettacolo teatrale “Flos Maleficarum”.