Reaaliaikainen full stack -äänestyssovellus
Färm, Jennina (2022)
Färm, Jennina
2022
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-202205097837
https://urn.fi/URN:NBN:fi:amk-202205097837
Tiivistelmä
Sosiaalisen paritanssin kilpailujen tuomaroiminen on aina ollut hyvin haastava ja työläs prosessi. Jo yhdeksän tuomarin tulosten käsittely vie aikaa. Mitä jos tuomareina toimisi koko yleisö äänestäen omaa järjestystään finaalien sijoituksista. Opinnäytetyön tavoitteena oli selvittää, kuinka luodaan reaaliaikainen äänestyslomake ja digitaalinen ratkaisu sijoitusten käsittelyyn ja antamiseen.
Opinnäytetyön tarkoituksena oli kehittää sovellus, joka tarjoaa mahdollisuuden luoda äänestyslomake reaaliaikaisesti. Sovelluksen tuli mahdollistaa äänestyksen kohteen lisääminen siten, että se tulee näkyviin äänestäjälle heti, kun se luodaan. Tällöin äänestettävät kohteet lisääntyvät äänestäjälle äänestyksen edetessä. Lisäksi sovelluksen tuli automatisoida tulosten laskenta ja prosessoida laskennan konfliktit.
Opinnäytetyön tuloksena kehitettiin full stack -verkkosovellus, jolla mahdollistettiin käyttö eri alustoilla ilman ylimääräisen sovelluksen asentamista. Palvelinsovellus tarjoaa REST-rajapinnan vuorovaikutukseen. Kehityksessä käytettiin React ja Node.js -teknologioita sovelluksen rakentamiseksi, ja se toimii reaaliajassa WebSocket-protokollaa hyödyntämällä. Opinnäytetyön raportissa esitellään pilvipalveluita, käytettyjä teknologioita, ja käsitellään teoreettisesti reaaliaikaisuuden vaihtoehtoja verkkoalustalla.
Tuloksena nähdään, että nykypäiväisessä verkkosovelluksen reaaliaikaisuudessa on hyvä suosia push-tekniikoita pull-tekniikoiden sijaan. Pull-tekniikat joko käyttävät kaistaleveyttä turhaan tai kuormittavat huomattavasti palvelinta käsitellessään ruuhka-ajan käyttäjämääriä. Kaikilla protokollilla on kuitenkin omat käyttötarkoituksensa. Toistaiseksi WebSocket-protokolla tarjoaa monipuolisimman kommunikointitavan kehitetyn sovelluksen tarpeisiin.
Opinnäytetyön tarkoituksena oli kehittää sovellus, joka tarjoaa mahdollisuuden luoda äänestyslomake reaaliaikaisesti. Sovelluksen tuli mahdollistaa äänestyksen kohteen lisääminen siten, että se tulee näkyviin äänestäjälle heti, kun se luodaan. Tällöin äänestettävät kohteet lisääntyvät äänestäjälle äänestyksen edetessä. Lisäksi sovelluksen tuli automatisoida tulosten laskenta ja prosessoida laskennan konfliktit.
Opinnäytetyön tuloksena kehitettiin full stack -verkkosovellus, jolla mahdollistettiin käyttö eri alustoilla ilman ylimääräisen sovelluksen asentamista. Palvelinsovellus tarjoaa REST-rajapinnan vuorovaikutukseen. Kehityksessä käytettiin React ja Node.js -teknologioita sovelluksen rakentamiseksi, ja se toimii reaaliajassa WebSocket-protokollaa hyödyntämällä. Opinnäytetyön raportissa esitellään pilvipalveluita, käytettyjä teknologioita, ja käsitellään teoreettisesti reaaliaikaisuuden vaihtoehtoja verkkoalustalla.
Tuloksena nähdään, että nykypäiväisessä verkkosovelluksen reaaliaikaisuudessa on hyvä suosia push-tekniikoita pull-tekniikoiden sijaan. Pull-tekniikat joko käyttävät kaistaleveyttä turhaan tai kuormittavat huomattavasti palvelinta käsitellessään ruuhka-ajan käyttäjämääriä. Kaikilla protokollilla on kuitenkin omat käyttötarkoituksensa. Toistaiseksi WebSocket-protokolla tarjoaa monipuolisimman kommunikointitavan kehitetyn sovelluksen tarpeisiin.