Full Stack -sovelluksen toteutus
Pippuri, Jukka (2023)
Pippuri, Jukka
2023
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-2023121537859
https://urn.fi/URN:NBN:fi:amk-2023121537859
Tiivistelmä
Tämän opinnäytetyön aiheena oli toteuttaa full stack -sovellus alan yleisiä käytäntöjä noudattaen. Sovelluksen käyttötarkoitus oli työaikakirjanpito, jossa seurataan erilaisiin työtehtäviin kuluvaa aikaa. Sovellus toteutettiin käyttäen Typescript-kieltä ja MERN-pinon teknologioita (MongoDB, Express, React, Node). Lähdekoodille luotiin monorepo-tyyppinen GitHub-tietovarasto, johon toteutettiin CI/CD-putki automatisoitua julkaisua varten. Paikallinen kehitysympäristö toteutettiin Docker-konteilla Unix-ympäristössä.
Työn tavoitteena oli tutustua Typescript-kieleen sekä luoda sovelluksen lähdekoodille monorepo-tyyppinen tietovarasto GitHub-alustalle. Tietovaraston tuli hyödyntää integroitua CI/CD-julkaisuputkea automatisoituun julkaisuun ja tarjota paikallinen kehitysympäristö jatkokehitystä ja sovelluksen ylläpitoa varten.
Opinnäytetyö on pääpiirteittäin jaettu kahteen osaan: teoriaan ja käytäntöön. Teoria osassa esitellään aluksi full stack -kehitykseen liittyvää teoriaa ja opinnäytetyön keskeisimpiä teknologioita. Teorian jälkeen käydään läpi työn varsinainen toteutus. Koko sovellusta ei perata tässä osassa, vaan esitellään se pääpiirteittäin. Joitain yksityiskohtia käydään hieman tarkemmin läpi, jotta sel- viää, miten eri teknologioita on käytetty lopputuloksen saavuttamiseksi ja miksi tiettyihin ratkaisuihin on päädytty.
Opinnäytetyön tavoitteet täyttyivät niin sovelluksen kuin lähdekoodin tietovaraston osalta. Työn lopputuloksena saatiin toimiva sovellus julkaisualustalla. Lähdekoodin tietovarastoon luotiin julkaisuputki, joka mahdollistaa suoraviivaisen jatkokehityksen. Työn lopussa käydään läpi ajatuksia, joita heräsi työn aikana, sekä minkälaisia jatkokehitysmahdollisuuksia siihen jäi.
Työn tavoitteena oli tutustua Typescript-kieleen sekä luoda sovelluksen lähdekoodille monorepo-tyyppinen tietovarasto GitHub-alustalle. Tietovaraston tuli hyödyntää integroitua CI/CD-julkaisuputkea automatisoituun julkaisuun ja tarjota paikallinen kehitysympäristö jatkokehitystä ja sovelluksen ylläpitoa varten.
Opinnäytetyö on pääpiirteittäin jaettu kahteen osaan: teoriaan ja käytäntöön. Teoria osassa esitellään aluksi full stack -kehitykseen liittyvää teoriaa ja opinnäytetyön keskeisimpiä teknologioita. Teorian jälkeen käydään läpi työn varsinainen toteutus. Koko sovellusta ei perata tässä osassa, vaan esitellään se pääpiirteittäin. Joitain yksityiskohtia käydään hieman tarkemmin läpi, jotta sel- viää, miten eri teknologioita on käytetty lopputuloksen saavuttamiseksi ja miksi tiettyihin ratkaisuihin on päädytty.
Opinnäytetyön tavoitteet täyttyivät niin sovelluksen kuin lähdekoodin tietovaraston osalta. Työn lopputuloksena saatiin toimiva sovellus julkaisualustalla. Lähdekoodin tietovarastoon luotiin julkaisuputki, joka mahdollistaa suoraviivaisen jatkokehityksen. Työn lopussa käydään läpi ajatuksia, joita heräsi työn aikana, sekä minkälaisia jatkokehitysmahdollisuuksia siihen jäi.