polito.it
Politecnico di Torino (logo)

Progetto e realizzazione di un sistema di backoffice basato sul framework Vaadin = Design and development of a backoffice system based on the Vaadin framework

Guglielmo Cibrario Bertolotti

Progetto e realizzazione di un sistema di backoffice basato sul framework Vaadin = Design and development of a backoffice system based on the Vaadin framework.

Rel. Giovanni Malnati. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2023

Abstract:

La tesi si prefigge principalmente un obbiettivo: approfondire il framework Vaadin per lo sviluppo di applicazioni web, e mettere in pratica tale conoscenza nell'implementazione di un backoffice per la gestione di magazzino, nell'ambito del progetto Optima. Inoltre, è stato sviluppato un add-on per il framework stesso, approfondendone quindi la struttura interna. Vaadin è un framework per lo sviluppo di applicazioni web basato sul linguaggio Java, e con una struttura intrinsecamente sincrona. Si distacca quindi dagli strumenti più comuni di sviluppo web, fornendo una struttura semplice da utilizzare e un unico linguaggio per la sua programmazione. Optima è un progetto innovativo multi-piattaforma per la gestione delle vendite di alcolici e bevande. Consente il monitoraggio delle bottiglie, tramite pesatura e foto, e del magazzino, tenendo traccia dei prodotti presenti e di quelli venduti. Per la gestione delle bevande, come i cocktail, presenta un sistema di ricette con cui si può tenere traccia dell'uso e della vendita dei singoli ingredienti. Infine, monitora le vendite, e può incrociare le ricette e i prezzi di vendita di ogni locale, producendo dei report esaustivi sull'andamento economico. Nell'ambito di questa tesi è stato sviluppato il backoffice del progetto, ovvero un’applicazione web, usata dai gestori del servizio, in grado di monitorare tutti i dati inseriti dai locali e di gestire discrepanze ed errori di utilizzo. Tale applicazione si compone di una schermata di login, e di cinque interfacce (o pagine), rispettivamente per la visualizzazione degli utenti, dei locali, dei prodotti, delle ricette e delle vendite. La pagina degli utenti consente di visualizzare e modificare i dati dei clienti del servizio, e di aggiungerne di nuovi. Le pagine dei locali e dei prodotti hanno una struttura simile, ma visualizzano i dati delle omonime entità. La pagina delle ricette mostra le ricette inserite dai clienti del servizio, che sono di fatto delle composizioni di ingredienti (prodotti), e costituiscono le unità che saranno effettivamente vendute dai locali. Infine, si ha la pagina delle vendite, in cui si possono caricare i file relativi alle bevande vendute, e visualizzarne i dati. Una volta completato il backoffice ci si è dedicati invece alla creazione di un add-on per Vaadin, ovvero di un’estensione delle funzionalità base del framework. Nel nostro caso abbiamo sviluppato un componente grafico (che quindi può essere usato nella costruzione delle interfacce), che mostra una mappa geografica. Vaadin non supporta nativamente questo tipo di visualizzazione, quindi la si è implementata da zero. Per lo sviluppo ci siamo appoggiati alla libreria open-source Leaflet, che consente di mostrare la mappa di un luogo sulla terra. Tale libreria lavora in Javascript, per cui lo scopo dell'add-on è stato quello di integrare le sue funzionalità in un framework come Vaadin, che lavora in Java. Sono state quindi implementate le funzioni base, come il movimento o lo zoom, consentendo inoltre allo sviluppatore di reagire agli eventi che avvengono all’interno della mappa stessa (i click ad esempio). Infine, abbiamo trasportato in Vaadin i principali elementi grafici che Leaflet permette di mostrare sulla mappa: dai marker alle figure geometriche, passando per i popup. La tesi si è quindi conclusa positivamente: il backoffice è stato testato e rilasciato per la produzione, mentre l'add-on è utilizzabile, possedendo tutte le caratteristiche base per risultare utile e funzionale.

Relatori: Giovanni Malnati
Anno accademico: 2022/23
Tipo di pubblicazione: Elettronica
Numero di pagine: 115
Informazioni aggiuntive: Tesi secretata. Fulltext non presente
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/27693
Modifica (riservato agli operatori) Modifica (riservato agli operatori)