Ophelia analyys

From ICO wiki
Jump to navigationJump to search

Ülevaade

Ophelia on hajussüsteem, mis koosneb kolmest osast: klientrakendusest, veebiteenusest ja ilmajaamast. Kasutajatel on võimalik endale luua personaliseeritud ilmajälgimise tabel ning ka oma ilmajaamadest saata andmeid Ophelia-sse.

Klientrakendus

Klientrakendus on ReactJS raamistikule loodud süsteem, mis kuvab kasutajale eesti kaardil ilma Eesti eripaigust. Samuti on võimalik kaardile märkida oma ilmajaamast saadetud andmeid. Klientrakenduses on registreeritud kasutajal võimalik salvestada isiklikud asukohad ning vaadata erinevaid ilmaandmeid, mis selles asukohas on mõõdetud. Klientrakenduses on võimalik registreeritud kasutajal teha endale API võti ning saata kokkulepitud kujul andmeid oma ilmajaamast Veebiteenusesse ning neid, siis läbi klienrakenduse näha. Samuti on klientrakenduses võimalik ennast registreerida, parooli meelde tuletada.

Veebiteenus

Veebiteenus pakub informatsiooni klientrakendusele, võtab vastu ilma informatsiooni erinevatelt osapooltelt ning teeb ise päringuid Ilmateenistus-e serverile, et uuendada ilma Eesti eripaigust korra ühe tunni jooksul.

Endpointid

Admin + kasutaja

  • GET /weather - esilehele kaardile kuvatav informatsioon, WeatherStation{Location,WeatherData}
  • GET /weather/preferences - kasutaja lemmikasukohtade WeatherStation data võtmine
  • POST /weather/preferences - kasutaja lemmikasukohtade salvestamine
  • POST /signup
  • POST /password/remind
  • GET /weather/station - kasutaja enda ilmajaamade ülevaade
  • POST /weather/station - lisab ilmajaama kasutajale
  • DELETE /weather/station/[id] - kustutab kasutaja poolt salvestatud ilmajaama
  • GET /oauth - ülevaade API keydest
  • POST /oauth - genereeri kasutajale API key
  • POST /login

Admin

  • GET /user - kuva list kõikidest kasutajatest
  • PATCH /user/[id]/[status] - keela kasutajale lehe kasutamine / luba keelatud kasutajal lehe kasutamine
  • GET /stats - erinev statistika lehe kasutuse kohta

Automaatsed tööd

  • Korra tunnis tuleb Ilmateenistuse lehel teha päring ning salvestada uued ilmaandmed andmebaasi


Andmebaasi skeem