Skip to content

Yleiset

Osaamistavoitteet

Opiskelija ymmärtää ohjelmistotekniikan full stack -käsitekokonaisuuden sekä osaa toteuttaa perustason web-sovelluksen back ja front endin valituilla ohjelmointiteknologioilla. Opiskelija kykenee hyödyntämään full stack –sovelluksen kehittämisessä edistyneitä tekniikoita sekä automatisoituja työkaluja full stack –sovelluksen kehittämisen ja ylläpitämisen tukena.

Sisältö

  • Full stack -konsepti: front end ja back end -käsitteet, full stack –arkkitehtuurit.
  • Full stack –sovelluksen peruskomponentit ja rungon toteuttaminen.
  • Tietorajapintojen (API), tietokantojen ja protokollien hyödyntäminen.
  • Front endin ja back endin välinen kommunikaatio.
  • Autentikaatio ja autorisointi (käyttäjien tunnistus ja käyttöoikeuksien hallinta).
  • Rajapintadokumentaation (API-dokumentaation) automatisoitu tuottaminen
  • Saman back end –sovelluksen hyödyntäminen useassa front end –sovelluksessa
  • Edistyneiden tietokantaominaisuuksien kytkeminen back end –sovellukseen
  • Reaaliaikainen tiedonsiirto
  • Full stack – ohjelmistoprojektin testaaminen ja tekninen hallinta (CI/CD)

Arviointikriteerit

  • Arviointikriteerit, tyydyttävä (1)

Opiskelija ymmärtää full stack –sovelluksen osa-alueet. Opiskelija kykenee ohjatusti toteuttamaan yksinkertaisia full stack –sovelluksia valituilla teknologioilla.

Opiskelija ymmärtää osaa perustasolla hyödyntää edistyneitä tekniikoita full stack –sovelluksen kehittämisessä. Opiskelija tuntee erilaisia automatisoituja työkaluja, joita voidaan hyödyntää full stack –ohjelmiston kehittämisen tukena.

  • Arviointikriteerit, hyvä (3)

Opiskelija osaa monipuolisesti hyödyntää eri full stack-tekniikoita sekä toteuttaa itsenäisesti full stack –sovelluksia tehtävänannon mukaisesti.

Opiskelija osaa sujuvasti hyödyntää full stack –sovelluksen edistyneitä tekniikoita kehitystyössään. Opiskelija osaa ohjatusti hyödyntää erilaisia automatisoituja työkaluja full stack –kehityksen tukena.

  • Arviointikriteerit, kiitettävä (5)

Opiskelija kykenee itsenäisesti toteuttamaan haastavia full stack –sovelluksia valitsemillaan tekniikoilla. Opiskelijan tuottamissa full stack –sovelluksissa on tarkoituksenmukainen arkkitehtuuri, joka palvelee tuotetun ohjelman ylläpidettävyyttä ja jatkokehitystä.

Opiskelija osaa kattavasti hyödyntää full stack –sovelluksen edistyneitä tekniikoita kehitystyössään. Opiskelija osaa hyödyntää tehokkaasti ja itsenäisesti erilaisia automatisoituja työkaluja full stack –ohjelmiston kehittämisen tukena.

Asennettavat ohjelmistot

Python

Varmistetaan että python on asennettu ja sen versio on vähintään 3.10

Python

Lataa ja asenna Pythonin uusin tarjolla oleva versio. Vaikka Pythonia voi koodata VS Codellakin, suosoitellaan ehdottomasti PyCharmin asentamista

Node.js

Node.js on JavaScript koodin suorittamisen ympäristö muualla kuin verkkoselaimissa. Se mahdollistaa ohjelmoinnin JavaScriptillä alustariippumattomasti ja antaa pääsyn JavaScript koodilla esimerkiksi tiedostojärjestelmään tai verkkoliikenteeseen.

Noden mukana asentuvat npm ja npx, ne ovat noden komentorivityökaluja JavaScript pakettien eli kolmannen osapuolen koodikirjastojen hallintaan.

Node.js

Lataa ja asenna Node.js LTS versio.

Git

Git on ohjelmistokehityksen yksi käytetyimmistä työkaluista versionhallinnassa. Se mahdollistaa muun muassa useamman koodarin työskentelyn sujuvasti samassa projektissa ja kaikki sinne laitettu koodi on automaattisesti varmuuskopioituna tallessa.

Gittiä ei pidä sekottaa GitHubiin tai GitLabiin, ne ovat palveluita repositorioiden (projektin koodipohja) ylläpitämiseen, säilyttämiseen ja projektin hallintaan. Git on työkalu jolla projektin koodit ja muut materiaalit lisätään näihin palveluihin.

Git

Lataa ja asenna Gitin uusin tarjolla oleva versio. Gitin asennusohje.

VS Code

Opintojaksolla suositellaan vahvasti käyttämään koodieditorina Visual Studio Codea. Se on moderni, kevyt ja laajasti eri ohjelmointikieliä tukeva koodieditori. Kaikki opintojaksolla tehdyt esimerkit on tehty käyttämällä VS Codea ja kaikkia käytettyjä plugineja ei todennäköisesti ole saatavilla muille koodieditoreille.

VS Code

Lataa ja asenna VS Code:n uusin versio

Insomnia

Rajapintakyselyiden debuggaamiseen ja simuloimiseen opintojaksolla käytetään Insomniaa.

Insomnia on työkalu web-ohjelmointirajapintojen tutkimiseen ja testaamiseen.

Insomnia

Lataa ja asenna Insomnia

Chrome

Tämä verkkoselain todennäköisesti löytyy jo useimmilta valmiiksi. Jos ei niin hae googlesta chrome, mene latauslinkkiin, lataa ja asenna uusin versio.

Chromea ja sen kehittäjän työkaluja käytetään opintojakson aikana paljon.

Muita verkkoselaimia voi käyttää jos haluaa varmistua että web-sovellus toimii oletetusti muilla selaimilla, mutta varsinainen devaaminen tehdään käyttäen Chromea.

Docker

Docker on työkalu, joka auttaa pakkaamaan ja ajamaan sovelluksia eristetyissä "konteissa". Tämä tekee sovellusten siirtämisestä ja käyttämisestä eri ympäristöissä helpompaa ja yhtenäisempää.

https://docs.docker.com/get-started/docker_cheatsheet.pdf

Docker

Lataa ja asenna Docker desktop

Lapin AMK:n Full Stack opintojaksojen nettisivu.