|
|
asdasd |
|
# Tekninen dokumentaatio
|
|
\ No newline at end of file |
|
|
|
|
|
## Dokumentista
|
|
|
|
|
|
|
|
Tämä dokumentti on "elävä"-dokumentti, joka päivittyy jatkuvasti.
|
|
|
|
|
|
|
|
## Otsikko
|
|
|
|
|
|
|
|
v1.0
|
|
|
|
|
|
|
|
Luokittelu Julkinen
|
|
|
|
|
|
|
|
- Petri Penttinen
|
|
|
|
|
|
|
|
- Jusa Myrskog
|
|
|
|
|
|
|
|
- Olli Koskinen
|
|
|
|
## Johdatus
|
|
|
|
|
|
|
|
- Tässä dokumentissa käydään läpi teknologioita ja kirjastoja, joita projektin tuotoksen tekemisessä käytetään. Käytetyt teknologiat ja kirjastot voivat vielä muuttua projektin aikana, jos törmätään odottamattomiin ongelmiin toteutuksen kanssa.
|
|
|
|
## Yleiskuvaus
|
|
|
|
|
|
|
|
- OBSIMO-Opintosuunnittelun työkalu on tehty toimimaan yhdessä opintosuunnitelman kanssa helpottamaan valintoja ja antamaan järkeviä, yrityksiltä saatuja ehdotuksia opintojen valinnassa.
|
|
|
|
|
|
|
|
- Dokumentin tehtävä on avata kehittäjille käsitys siitä miten tuote on toteutettu.
|
|
|
|
## Käytetyt teknologiat
|
|
|
|
|
|
|
|
- MySQL/MariaDB - Hyvä tietokanta
|
|
|
|
|
|
|
|
- HTML - Käytetty nettisivuihin
|
|
|
|
|
|
|
|
- Node.js (express.js)
|
|
|
|
|
|
|
|
- Javascript - Asiakaspuoli
|
|
|
|
|
|
|
|
- React - Käyttöliittymän tekemiseen
|
|
|
|
|
|
|
|
- React Drag N Drop -kirjasto
|
|
|
|
|
|
|
|
- Json Webtoken
|
|
|
|
|
|
|
|
- CSS - Käyttöliittymän muotoilu
|
|
|
|
## Tuotekehitysympäristöjen kuvaukset
|
|
|
|
|
|
|
|
- Kehitysympäristö - Digital Ocean / Virtuaalikone
|
|
|
|
|
|
|
|
- Testausympäristö - Digital Ocean / Virtuaalikone / Gitlab
|
|
|
|
|
|
|
|
- Ajo/suoritusympäristö - Digital Ocean / Virtuaalikone
|
|
|
|
|
|
|
|
- Demoympäristö - Virtuaalikone
|
|
|
|
## Käytetyt työvälineet ja niiden versionumerot
|
|
|
|
|
|
|
|
- MariaDB 5.5.56
|
|
|
|
|
|
|
|
- Node.js 9.x (express.js)
|
|
|
|
|
|
|
|
- React v16.0
|
|
|
|
|
|
|
|
- React Router v4
|
|
|
|
## Tärkeimmät tekniset ratkaisut joihin tuote nojaa
|
|
|
|
|
|
|
|
- React v.16.0
|
|
|
|
|
|
|
|
- React Router v4
|
|
|
|
|
|
|
|
- Node.js
|
|
|
|
## Yleinen ohjelmiston arkkitehtuuri
|
|
|
|
|
|
|
|
- 
|
|
|
|
## Palvelujen/n rajapinnat (Interfaces)
|
|
|
|
|
|
|
|
- Palvelussa on rajapinta tietokantaan mysql-js (npm) -kirjaston välityksellä.
|
|
|
|
## Suoritysympäristön (tuotanto) kuvaus
|
|
|
|
|
|
|
|
- Tuote laitetaan tarjottavaksi Digital Ocean -virtuaalikoneelle.
|
|
|
|
|
|
|
|
- 2GB RAM
|
|
|
|
|
|
|
|
- 50GB HDD
|
|
|
|
|
|
|
|
- Centos 7.4 x64
|
|
|
|
## Tietokantakuvaukset
|
|
|
|
|
|
|
|
### Testikäyttäjät:
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|

|
|
|
|
Huom. Prerequisites isolla... Sori siitä
|
|
|
|
|
|
|
|
#### user:
|
|
|
|
|
|
|
|
- id -> username
|
|
|
|
|
|
|
|
- name
|
|
|
|
|
|
|
|
- type (opettaja, opiskelija) -> role
|
|
|
|
## Backend -rajapinta
|
|
|
|
|
|
|
|
### /getCourses (GET)
|
|
|
|
|
|
|
|
Palauttaa json-taulukon kurssiolioita
|
|
|
|
|
|
|
|
#### Esim:
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
| | |
|
|
|
|
|:---:|:---:|
|
|
|
|
| id | Kurssikoodi |
|
|
|
|
| name | Nimi |
|
|
|
|
| ects | Opintopisteet |
|
|
|
|
| language | Kieli |
|
|
|
|
| Prerequisites | Esitietovaatimukset, esim kurssit jotka pitää olla käytynä. Huom. alkukirjain meni isolla |
|
|
|
|
| type_id | Kurssityyppi (Pakolliset / Valinnaiset / ... jne.) |
|
|
|
|
| category | Millaisesta kurssista on kyse esim. ohjelmisto / luonnontieteet / yhteiset opinnot |
|
|
|
|
| score | Kuinka usein kurssi on valittu mihin tahansa polkuun (jos firm-parametri käytössä, score menee firman mukaan) |
|
|
|
|
#### Parametrit
|
|
|
|
|
|
|
|
- "?category": kurssit kategorian mukaan
|
|
|
|
| Kuvaus | Koodi |
|
|
|
|
|:------:|:-----:|
|
|
|
|
| Kyberturvallisuus | cy |
|
|
|
|
| Media | me |
|
|
|
|
| Ohjelmisto | sw |
|
|
|
|
| Tietoverkot | nw |
|
|
|
|
| Luonnontieteet (matematiikka, fysiikka) | ns |
|
|
|
|
| Yhteiset opinnot | co |
|
|
|
|
| Muut | ot |
|
|
|
|
- "?firm": kurssit firmojen mukaan, scoret laskettuna firman mukaan. **EI VIELÄ KÄYTÖSSÄ**
|
|
|
|
Jos halutaan kaikki kurssit, ei anneta parametreja.
|
|
|
|
|
|
|
|
Eli jos halutaan hakea ohjelmistotekniikkaan liittyvät kurssit -> **/getCourses?category=sw**
|
|
|
|
|
|
|
|
### /getPaths (GET)
|
|
|
|
|
|
|
|
Palauttaa kaikki polut tietokannasta **taulukkona** allaolevan muotoisina otuksina. Ei ota parametreja tällä hetkellä.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### /getUsers (POST)
|
|
|
|
|
|
|
|
Vaatii JWT:n lähettämisen. Hakee käyttäjät jsonina. **EI VIELÄ KÄYTÖSSÄ**
|
|
|
|
|
|
|
|
### /getFirms **myöskin tulossa** |
|
|
|
\ No newline at end of file |