Meeskond:Phoney

From ICO wiki

Liikmed

  • Karl Erik Õunapuu
  • Margus Põlma

Idee

Projekti ideeks on luua rakendus, mis võimaldab kõnekaartidele seisma jäänud ettemaksu jääki realiseerida ning kanda välja enda pangakontole. Lahendus hakkab kasutama Fortumo mobiilimaksete API funktsioone.

Analüüs

Mida see endas sisaldab?

Rakendus hakkab koosnema kahest komponendist, Web API ning WPF tehnoloogial põhinev niiöelda Dashboard. Web API paigaldame Azure konteinerisse ning dashboard tuleb paigaldada klienti enda arvutisse. Dashboardil oma enda andmebaasi küljes ei ole, kõik info saadetakse ning küsitakse Web API käest.


Eesmärk

Rakenduse eesmärgiks on pakkuda unikaalset teenust, mis võimaldab seismajäänud kõnekaartidelt raha välja kanda oma enda pangakontole. Vanasti jagasid nii EMT, Elisa kui ka Tele2 sõbrapäevadel tasuta ära stardikaid millel oli peal ca 5€ väärtuses ettemaksu. Meie tahame aga seismajäänud kõnekaartidelt selle raha kätte saada, panka kanda ning selle eest õlut osta. Kuu lõpus kulub tudengile ikka ära.


Mida tavakasutaja sellega teha saab?

Kasutaja saab omale luua konto. Konto loomisel küsitakse kasutajalt tema eesnime, perenime, e-posti aadressit, isikukoodi ning salasõna. Kui konto on loodud, saab kasutaja seadistada enda väljamaksete aadressi saaja kontonumbri ning nime näol. Antud andmed peavad kattuma konto loomisel olevatega.

Kui konto on loodud ning väljamaksete aadress on määratud, siis saab kasutaja hakata lisama oma kontole antud kõnekaartide telefoninumbreid, mida soovib tühjaks tegema hakata. Iga telefoninumbriga saab kaasa anda ka numbril oleva ettemaksujäägi, et kasutajal oleks kindel ülevaade kui palju ta on juba antud telefoninumbrilt välja kandnud ning kui palju on teoreetiliselt veel alles.

Kui numbrid on lisatud, siis saab kasutaja hakata kõneaega rahaks vahetama. Selle jaoks tuleb tal klikata ühele enda numbritest, valida summa kui palju sealt kätte soovib saada ning seejärel näidatakse kasutajale vastava sisu ning numbriga SMS, mis tal tuleb antud kõnekaardiga saata. Kuna Fortumo teenus neelab enda alla ca 35% hinnast, siis näidatakse kasutajale kindlasti ka summat mis tema kontole kindlasti jõuab. Kui SMS on saadetud ning meie veebiteenus on selle kohta Fortumolt saanud kinnituse, siis näidatakse dashboardil kasutajale ära et tehing õnnestus ning muudetakse meie rakenduses tema kontojäägi saldot.

Kui SMS on saadetud näiteks lepinguliselt numbrilt, siis näitab rakendus küll kirjet et tehing õnnestus, kuid saldo juurde lisatakse ka märge, et tehing on kinnitamisel. Seda seetõttu, et klient võib mobiilioperaatori lepingust taganeda, jätta selle maksmata või midagi muud sarnast. Fortumo raha endale ei saa ning seda ei saa ka meie. Vastu pükse me saada ei taha, seega ei kuulu kogutud summa koheselt väljamaksmisele. Kui tehingu staatus muutub Fortumo keskkonnas "okei" peale, siis saab kasutaja sooritada väljamakse.

Kasutajal on samuti võimalik näha ka oma tehingute ülevaadet. See sisaldab telefoninumbrit millega tehing tehti, summat, kontole jõudvat summat, kuupäeva ning tehingu staatust.

Kui kasutaja kontole on laekunud kindel summa, siis on võimalik kasutajal sooritada väljamakse.


Milliste osade realiseerimine võib osutuda problemaatiliseks?

  • Väljamaksed. Seda tuleb ilmselt teha manuaalselt kuna tahame teha väljamakseid just pangakontole. Paypali või mõne muu lahendusega oleks võimalik seda sammu automatiseerida.
  • Fraud Detection. Me ei saa olla kindlad, et mõni jõmpsikas ei ole oma ema telefoni ära võtnud. Selle jaoks tuleks ilmselt küsida konto loomisel ka dokumendist pildi, kuid seda ehk tulevikus.
  • Väljamakse kvoodi ületamine. Kui paneme miinimum väljamakseks näiteks 5 eurot ja kui kasutaja saadab sõnumeid vähem, siis ta seda raha reaalselt kätte ei saa.
  • Fortumo API-ga integreerimine. Pole midagi taolist varem C# teinud.
  • Fortumolt teenuse heakskiidu saamine, et reaalselt laivi minna. Kui heakskiitu ei saa siis pole ka probleemi, sest saame kasutada nende sandboxi ning funktsionaalsust ikkagi arendada, testida ja demoda.

Tööjaotus

Seda vaatame jooksvalt. Esimese asjana ehitame valmis API teenuse, kus Karl Erik võtab enda peale Fortumoga integreerimise ning Margus valmistab valmis vajalikud funktsioonid kasutajakontode ning numbrite lisamiseks. Kui API on valmis, siis alustame mõlemad Dashboardi loomisega. Dashboardi osas me ülesandeid jagada ei taha, kumbki teeme seda mis meid momendil kõnetab.


MUST HAVE

  • Konto loomine
  • Väljamakseandmete lisamine
  • Numbrite lisamine
  • Saldo kuvamine
  • Tehingute kuvamine/ajalugu
  • Fortumo teenusega liidestamine
  • Vastava SMS sisu kuvamine
  • Väljamakseavalduse võimalus


NICE TO HAVE

  • Välised autentimisvõimalused (FB, Smart-ID, Google, Twitter, ID-kaart jms)
  • Kasutaja isikutuvastus.
  • Tehingute väljavõtete grupeerimine filtrite abil (aeg, number, ja muu selline)
  • Kontoandmete muutmine (email, parool ja nii edasi)
  • E-posti teel saadetavad meilid. Näiteks kui uus konto on loodud, on tehtud uus tehing, tehingu staatus on muutunud, väljamakse avaldus esitatud või midagi sarnast.
  • Automaatne tehingute checkimine Fortumo keskkonnast, et muuta ära lepingulistel klientide poolt tehtud tehingute staatus. Vastasel juhul peame seda tegema käsitsi. Ei taha teha käsitsi.

Blogi

  • 10.10.17 Idee väljatöötamine
  • 17.10.17 Tehnilise teostatavuse hindamine ning plaanimine