saukko-app

Azure Functions App - ePerusteet replica

Tämä dokumentaatio kattaa Azure Functions -sovelluksen, joka on kehitetty ratkaisemaan ePerusteet REST API:n puutteita. Sovelluksen avulla pystymme hakemaan tarvittavat tiedot ePerusteista, käsittelemään ne ja tallentamaan MongoDB-tietokantaan (Azure Cosmos DB). Tämä dokumentaatio auttaa käyttäjiä ymmärtämään sovelluksen toimintaa ja käyttämään sen toimintoja.

Yleiskuvaus

ePerusteet REST API on ajoittain hidas, ja joskus tietyt rajapinnat eivät ole käytettävissä. Lisäksi tiukat CORS-säännöt vaikeuttavat suoria API-kutsuja front-endistä. Näiden ongelmien ratkaisemiseksi olemme kehittäneet Azure Functions -sovelluksen, joka:

Funktiot

ePerusteetTimedQuery

manualUpdateEperusteet

getDegrees

getDegreeById

Käyttöönotto

  1. Kloonaa repository
    git clone https://github.com/VirittamoHelsinki/saukko-app.git
    cd saukko-app/functions
    
  2. Asenna riippuvuudet
    npm install
    
  3. Määritä ympäristömuuttujat
    • Luo .env tiedosto functions projektin juureen ja lisää tarvittavat ympäristömuuttujat
      • ENVIRONMENT=production development
      • MONGODB_URI_DEV=mongodb://saukko-dev-cosmos:………………….
      • MONGODB_URI_PROD=mongodb://saukko-prod-cosmos:………………….
  4. Käynnistä paikallisesti:
    npm run start
    

Ympäristömuuttujat

CORS

Tämä on tärkeä osio sovelluksen toiminnan sekä resurssi-turvallisuuden kannalta. Käy tämä osio huolellisesti läpi tästä linkinstä CORS-DOCS

API URL Löytäminen Azuresta (EPERUSTEET_DATA_URL)

  1. Kirjaudu Azure-portaliin:
  2. Navigoi haluamaasi resurssiryhmään
    • Kirjoita hakukenttään resource groups ja valitse Resource groups
    • Etsi ja valitse haluamasi resurssiryhmä listalta
  3. Etsi ja Valitse listalta Functions App resurssi
    • Resurssin nimi on muotoa saukko-<env>-fn-<uniq-str>
    • Tämä vie sinut Functions sovelluksen yleisnäkymään
  4. Paikanna URL
    • URL sijaitsee functions sovelluksen yleisnäkymän essentials osiossa, sivun yläosassa
  5. Kun tallennat tämän URL -osoitteen ympäristömuuttujaksi clientille, tai GitHub repository secretiksi, lisää URL osoitteeseen polku /api. Osoitteen tulisi näyttää suurinpiirtein tältä: https://saukko-<env>-fn-<uniq-str>.azurewebsites.net/api

Huomioita