Lyhytlinkkijärjestelmän backend-sovelluksen toteutus
Hartikainen, Santeri (2020)
Hartikainen, Santeri
2020
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-2020120225709
https://urn.fi/URN:NBN:fi:amk-2020120225709
Tiivistelmä
Opinnäytetyön tavoitteena on dokumentoida, miten toimeksiantajalle tehtävä lyhytlinkkijärjestelmän backend-sovellus toteutetaan. Työn tavoite on luoda toimeksiantajalle sovelluksen toimiva backend-versio, joka voidaan yhdistää erikseen tehtävän frontend-sovelluksen
kanssa. Aluksi käydään läpi työssä käytettävät tekniikat ja paikoin niiden historiaa, jota seuraa käytännön toteutus. Työssä ei toteuteta sovelluksen frontend:iä.
Työssä käytetään Javascript:in pohjautuvaa Node.js ohjelmointiympäristöä. Lisäksi käytössä on useita sille tehtyjä lisäkirjastoja. Yksi tällainen kirjasto on Express, joka vastaa
mm. reitittämisestä ja johon monet muut suositut Node.js kirjastot perustuvat. Sovelluksessa käytettävä tietokanta on SQLite ja sen manuaalisen käsittelyn apuna on DB Browser
for SQLite-sovellus. Ohjelman REST-rajapinnan HTTP-kutsujen testaamisessa käytetään
Postman-sovellusta.
Koodaus aloitetaan toteuttamalla tietoa hakevat kutsut ja lisäämällä testikäyttäjiä tietokantaan, jonka jälkeen siirrytään toteuttamaan käyttäjien kirjautuminen, heidän kirjautumisensa
voimassaolon todentamiseen ja lyhytlinkkien lisäämiseen tietokantaan. Seuraavaksi toteutetaan automatisoidut toiminnot, kuten vanhentuneiden linkkien poisto ja linkin vanhenemisesta varoittavan sekä ilmoittavan sähköpostin lähetys kyseisen linkin omistajalle. Lopuksi
toteutetaan käyttäjien ja linkkien hallinta, johon kuuluu käyttäjien ja linkkien muokkaaminen,
poisto, sekä uuden salasanan luonti ja sen sähköpostilähetys käyttäjälle, joka on mahdollisesti sen unohtanut.
Lopputuloksena syntyy valmis backend-sovellus, jolle voidaan tehdä API-pyyntöjä ja joihin
se vastaa. Päätännössä käydään läpi mitä haasteita työssä oli, sekä mitä tehtäisiin mahdollisesti toisin tulevaisuudessa samankaltaisissa projekteissa, sekä mitä sovellukselle voitaisiin tehdä seuraavaksi ennen sen käyttöönottoa.
kanssa. Aluksi käydään läpi työssä käytettävät tekniikat ja paikoin niiden historiaa, jota seuraa käytännön toteutus. Työssä ei toteuteta sovelluksen frontend:iä.
Työssä käytetään Javascript:in pohjautuvaa Node.js ohjelmointiympäristöä. Lisäksi käytössä on useita sille tehtyjä lisäkirjastoja. Yksi tällainen kirjasto on Express, joka vastaa
mm. reitittämisestä ja johon monet muut suositut Node.js kirjastot perustuvat. Sovelluksessa käytettävä tietokanta on SQLite ja sen manuaalisen käsittelyn apuna on DB Browser
for SQLite-sovellus. Ohjelman REST-rajapinnan HTTP-kutsujen testaamisessa käytetään
Postman-sovellusta.
Koodaus aloitetaan toteuttamalla tietoa hakevat kutsut ja lisäämällä testikäyttäjiä tietokantaan, jonka jälkeen siirrytään toteuttamaan käyttäjien kirjautuminen, heidän kirjautumisensa
voimassaolon todentamiseen ja lyhytlinkkien lisäämiseen tietokantaan. Seuraavaksi toteutetaan automatisoidut toiminnot, kuten vanhentuneiden linkkien poisto ja linkin vanhenemisesta varoittavan sekä ilmoittavan sähköpostin lähetys kyseisen linkin omistajalle. Lopuksi
toteutetaan käyttäjien ja linkkien hallinta, johon kuuluu käyttäjien ja linkkien muokkaaminen,
poisto, sekä uuden salasanan luonti ja sen sähköpostilähetys käyttäjälle, joka on mahdollisesti sen unohtanut.
Lopputuloksena syntyy valmis backend-sovellus, jolle voidaan tehdä API-pyyntöjä ja joihin
se vastaa. Päätännössä käydään läpi mitä haasteita työssä oli, sekä mitä tehtäisiin mahdollisesti toisin tulevaisuudessa samankaltaisissa projekteissa, sekä mitä sovellukselle voitaisiin tehdä seuraavaksi ennen sen käyttöönottoa.