Kävijärekisteröinti-mobiilisovellus : lisämoduuli Kongressi-tapahtumanhallintaohjelmistoon
Kalli, Markus; Asikainen, Petri (2021)
Kalli, Markus
Asikainen, Petri
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021121626566
https://urn.fi/URN:NBN:fi:amk-2021121626566
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli luoda Kongressi-tapahtumanhallintaohjelmistoon integroitava mobiilisovellus helpottamaan kävijöiden rekisteröintiä näyttelyosastoilla, sekä suunnitella mikropalvelu ja REST-API-rajapinta sovellusta varten. Työ toteutettiin Data Prisma Oy:n kanssa yhteistyössä ja työnjako sovelluksen kehitystyössä oli selkeä; Markus Kalli suunnitteli ja toteutti mobiilisovelluksen käyttöliittymän ja Petri Asikainen suunnitteli ja toteutti mikropalvelun.
Mobiilisovelluksen käyttöliittymän tekniikkavertailuiden jälkeen sovellus päädyttiin tekemään PWA-tekniikalla johtuen projektin tiukasta aikataulusta sekä PWA:n alustariippumattoman kehityksen ketteryydestä ja helpohkosta ylläpidosta. Käyttöliittymä toteutettiin React.js-JavaScript-kirjastolla sekä Material-UI-käyttöliittymäkirjastolla. Koodinlukuominaisuus on toteutettu ZXing (zebra crossing) -kirjastoa hyödyntäen.
Mikropalvelusta tehtiin REST-API, joka toteutettiin C#-ohjelmointikielellä ja .Net Core frameworkilla.
Palvelusta tehtiin multitenant, jolloin yksi mikropalvelu palvelee useaa asiakasympäristöä. Mikropalvelu suunniteltiin sisäiseksi palveluksi, jolloin kaikki kommunikointi palvelun kanssa tapahtuu olemassa olevan API-rajapinnan kautta, eikä mikropalvelu ole suoraan kutsuttavissa julkisesta verkosta. Projektin aikana tehty tutkimustyö mikropalveluiden arkkitehtuureista ja multitenanttisten ympäristöjen suunnittelussa antoi paljon arvokasta tietotaitoa tulevaisuuden projekteja varten.
Projektin lopputuloksena on julkaisukelpoinen mobiilisovellus, joka valmistui alkuperäisessä aikataulussa. Maailmanlaajuisen COVID-19-pandemiatilanteen takia sovelluksen varsinainen käyttöönotto jäi kuitenkin odottamaan myöhempää ajankohtaa. The purpose of this thesis was to produce a mobile application that can be integrated into the Kongressi event management software to make the registration of visitors at exhibition stands easier, as well as to design a microservice and REST-API for the application. The work was carried out in cooperation with Data Prisma Ltd and the division of labour in the application development work was clear; Markus Kalli designed and imple-mented the user interface for the mobile application and Petri Asikainen designed and implemented the micro service.
After comparing different technologies of the mobile application’s user interface, the application was made with PWA technology due to the tight schedule of the project and the agility and ease of maintenance of PWA’s platform-independent development. The user interface was implemented with the React.js JavaScript library and the Material-UI user interface library. The code reading feature was implemented using the ZXing (zebra crossing) library.
The micro service was implemented as a REST-API, which was implemented with the C# programming language and the .Net Core framework. The service was made multitenant, allowing one micro service to serve multiple customer environments. The micro service was designed as an internal service, whereby all communication with the service takes place via the existing API. The research work done during the project on micro service architectures and the design of multitenant environments provided a lot of valuable know-how for future projects.
The outcome of this project is a publishable mobile application that was finished on schedule. However, due to the global COVID-19 pandemic, the actual deployment of the application will be in the future.
Mobiilisovelluksen käyttöliittymän tekniikkavertailuiden jälkeen sovellus päädyttiin tekemään PWA-tekniikalla johtuen projektin tiukasta aikataulusta sekä PWA:n alustariippumattoman kehityksen ketteryydestä ja helpohkosta ylläpidosta. Käyttöliittymä toteutettiin React.js-JavaScript-kirjastolla sekä Material-UI-käyttöliittymäkirjastolla. Koodinlukuominaisuus on toteutettu ZXing (zebra crossing) -kirjastoa hyödyntäen.
Mikropalvelusta tehtiin REST-API, joka toteutettiin C#-ohjelmointikielellä ja .Net Core frameworkilla.
Palvelusta tehtiin multitenant, jolloin yksi mikropalvelu palvelee useaa asiakasympäristöä. Mikropalvelu suunniteltiin sisäiseksi palveluksi, jolloin kaikki kommunikointi palvelun kanssa tapahtuu olemassa olevan API-rajapinnan kautta, eikä mikropalvelu ole suoraan kutsuttavissa julkisesta verkosta. Projektin aikana tehty tutkimustyö mikropalveluiden arkkitehtuureista ja multitenanttisten ympäristöjen suunnittelussa antoi paljon arvokasta tietotaitoa tulevaisuuden projekteja varten.
Projektin lopputuloksena on julkaisukelpoinen mobiilisovellus, joka valmistui alkuperäisessä aikataulussa. Maailmanlaajuisen COVID-19-pandemiatilanteen takia sovelluksen varsinainen käyttöönotto jäi kuitenkin odottamaan myöhempää ajankohtaa.
After comparing different technologies of the mobile application’s user interface, the application was made with PWA technology due to the tight schedule of the project and the agility and ease of maintenance of PWA’s platform-independent development. The user interface was implemented with the React.js JavaScript library and the Material-UI user interface library. The code reading feature was implemented using the ZXing (zebra crossing) library.
The micro service was implemented as a REST-API, which was implemented with the C# programming language and the .Net Core framework. The service was made multitenant, allowing one micro service to serve multiple customer environments. The micro service was designed as an internal service, whereby all communication with the service takes place via the existing API. The research work done during the project on micro service architectures and the design of multitenant environments provided a lot of valuable know-how for future projects.
The outcome of this project is a publishable mobile application that was finished on schedule. However, due to the global COVID-19 pandemic, the actual deployment of the application will be in the future.