LastNight
App (edasipidi LNA ) on rakendus, mis aitab kasutajal salvestada enda
asukohta. Rakendus salvestab asukohad IsolatedStorage-sse, soovi
korral on kasutajal võimalus oma asukohad ka meie andmebaasi
salvestada. Salvestamise mõte on selles, et telefoni vahetades saab
vanad asukohad uuesti alla laadida ning võimaluse korral loome ka
sõpradega asukohtade jagamise võimaluse. Rakendus LNA koosneb
WebApi-st ja Windows Phone 8 rakendusest. WebApi puhul on tegemist
raamistiku laiendusega, mille ideeks on muuta lihtsamaks veebipõhiste
API-de loomine, meie rakenduse puhul on WebApi põhiülesandeks
andmete jagamine kasutajate vahel, samuti salvestusfunktsioon, sest
sinna talletatakse kasutajate Live Connect id-d, koordinaadid ja
sõbralisti.
Lahenduse
eesmärk on pakkuda kasutajale võimalust jälgida enda ja/või
nõusoleku andnud sõprade asukohta. Siinkohal oleme mõelnud paari
võimaluse peale, mida meie rakendus kindlasti täita võiks:
1) “Kus ma eile olin?“ - kasutaja asukoht saadetakse apisse perioodiliselt iga n minuti tagant, säästmaks kasutaja telefoniakut, mis tühjeneks järjepideval asukohtade saatmisel märgatavalt kiiremini.
2) Enda ja sõprade asukoha kuvamine kaardil pushpinide abil. Pushpinidel on märgitud ka kellaaeg, millal selles asukohas oldi, lisavõimalusena võimalus lisada kommentaar või info vastavalt pushpinile.
1) “Kus ma eile olin?“ - kasutaja asukoht saadetakse apisse perioodiliselt iga n minuti tagant, säästmaks kasutaja telefoniakut, mis tühjeneks järjepideval asukohtade saatmisel märgatavalt kiiremini.
2) Enda ja sõprade asukoha kuvamine kaardil pushpinide abil. Pushpinidel on märgitud ka kellaaeg, millal selles asukohas oldi, lisavõimalusena võimalus lisada kommentaar või info vastavalt pushpinile.
Võimalused,
mida proovime rakendada, kuid esialgu on nice-to-have kategoorias:
1)
Asukoha sõpradega jagamine – kõige pealt määrata kellega
asukohta jagada, ning siis võimalik kas manuaalselt update-da
asukohta või lasta iga n minuti järel oma andmed WebApi-sse saata
2)
Sõbralisti toimimisel saaksime kasutajate vahelisi koordinaate
sorteerida kasutajale huvi pakkuval moel. Järgnevad parameetrid
võivad olla kasutaja poolt defineeritud ükskõik millisteks.
Näiteks saaksime kuvada kasutajale kõik tema sõbrad, kes on olnud
temast 50m/500m/2km/100km raadiuses viimase minuti/tunni/päeva
jooksul.
Usume,
et meie rakendus oleks tavakasutajale huvipakkuv, sest hilisema
edasiarenduse käigus võib lisada näiteks võimaluse vaadata, kus
asub laps, kes kasutab LNAd. Lisaks reisimiseks mõeldud
funktsionaalsus, salvestades oma teekond, et hilisem tagasiliikumine
ei valmistaks probleeme.
Kasutajalt
registreerimist ei nõuta, küll aga on vajalik MS Account olemasolu,
sest autentimine toimub läbi Live Connecti. Live Connectist küsime
andmeid basic ja email scope ulatuses. Emaili alusel hakkab toimuma
sõprade lisamine kasutajatelisti.
Turvalisuse
tagamiseks suhtleb rakendus WebApi-ga ainult üle HTTPS. Azure
keskkonnas hostides on HTTPS kohe olemas, piisab sellest, kui
päringud saata https://lastnight.windowsazure.com/api.
Sellisel kujul saadetud päringud on krüpteeritud ning kõrvalisel
isikul on nende lugemine raskendatud. Kasutades Live Connect-i, saame
iga kasutaja jaoks unikaalse id, mille alusel hakkame kasutajat enda
andmebaasis tuvastama. Kuna Live Connectist saadud token on püsiv,
tasub mõelda süsteemile, mis teeks perioodiliselt uue
autoriseerimistokeni ning saadaks lisaks Live Connectist saadud
tokenile ka tolle ajutise tokeni WebApi-sse autoriseerimiseks.
Problemaatiliseks
võib osutuda rakenduse töötamine taustal.
Samuti cutom pushpinide kuvamine, sest tegu on uuendusega, mis tuleneb wp8ga ning abimaterjale küll on, kuid neid pole siiski väga palju.
Sõbralisti kujutamine c#s läbi entity frameworki.
Samuti cutom pushpinide kuvamine, sest tegu on uuendusega, mis tuleneb wp8ga ning abimaterjale küll on, kuid neid pole siiski väga palju.
Sõbralisti kujutamine c#s läbi entity frameworki.
Tööjaotus:
Andmebaasi
kujundamisel osalevad kõik grupiliikmed. Funktsionaalsusest ühte
moodi arusaamiseks on vajalik, et kõik oleksid teadlikud ka
kasutusel olevast andmemudelist. Mudeli loomisel kasutame omandatud
teadmisi ainest Andmebaaside alused, mis on andnud põhjalikud
alusteadmised andmebaasi loomiseks.
WP8
rakenduse arenduses osalevad kõik grupiliikmed võrdselt. Arenduse
sujuvaks toimimiseks on vajalik, et kõik liikmed oleks
arendustegevusse kaasatud ja annaks oma panuse. Tähtsamad küsimused
ala andmete flow ning ühendumine WebApi-ga lahendame ühiselt, et
kõigil oleks samasugune arusaam Appi toimimisest. Disain ja
kasutajaliides on punktid, millega saame tegeleda ka eraldi, ning ei
ole vajalik koos töötamine. Üldises plaanis üritame teha vähemalt
6-10 intensiivset koostöötamispäeva, mis tagaks info ühtlase
ülekande, samal ajal kasutame ka fleep.io-d ning Team
Foundation Service'it http://tfs.visualstudio.com/
tähtsamate punktide arutamiseks.
WebApi
arendusega on seotud Margus ja Andres.
Telefoniga
seotud tegevused – kaardiga seotu/ pushpinide ( windows phone 8
toolkiti abil ) kuvamine jääb Piia ja Dorise õlule. Tänu WP8
uuendustele tegeleme ka rakenduse tööle saamisega taustal, et juhul
kui kasutaja kasutab muid rakendusi või on telefon lukustatud,
saadaks meie telefon siiski asukohti andmebaasi.
Blogipostitustega
tegeleb Piia ning Doris, hoides silma peal kirjalikel ülesannetel
ning ülevaate andmisele projekti käekäigust.
API-st
info saamine:
//GET
1) “eilsete õhtute list“ api/locations/gettracking/userid
2) eile õhtu koordinaadid api/locations/getlocations/userid/trackingid
3) minuga jagatud asukohad api/locations/sharedwithme/userid
//GET
1) “eilsete õhtute list“ api/locations/gettracking/userid
2) eile õhtu koordinaadid api/locations/getlocations/userid/trackingid
3) minuga jagatud asukohad api/locations/sharedwithme/userid
APIsse
info saatmine:
//POST
– Andmed
saadame üle võrgu serialiseeritud
objektidena, osadel juhtudel saadame andmed POST meetodiga
kontrolleri aadressile, lisades valikulisi parameetreid näiteks
/api/locations/savelocation?security=true
1)
Uue kasutaja registreerimine: api/users/registeruser
2)
Tracking objekti salvestamine api/locations/createtracking
3)
Asukoha salvestamine api/locations/savelocation?trackingid=42
Andmebaasi
ja Api hostime Windows Azure keskkonda, mis kujutab endast paindlikku
pilve platvormi, mis lubab kiiresti ehitada, paigaldada ning hallata
appe üle globaalse Microsofti võrgu.
Must
have
LNA
rakendus peaks kindlasti olema suuteline edastama rakendust kasutava
inimese asukohti andmebaasi, salvestama need ning vajadusel pakkuma
võimalust neid uuesti hilisemalt pärida. Teekond peaks olema
märgitud kas pushpinide või joone abil. Samuti on oluline, et meie
rakendus oleks võimeline töötama ka taustal s.o. Segamatult
teistest rakendustest ning ka juhul kui telefoni ekraan on lukus.
Nice
to have
1)Meie
rakenduse lisavõimalusena võiks olla suutlikus jagada meie teekondi
valitud kasutajatega ning võimalus vaadata ka teiste kasutajate
teekondi, juhul kui nad neid meiega jagavad.
2)
WebApi turvaprotokoll, mis jagab kasutajale sisselogides uue tokeni,
mida hakatakse hilisemate päringute puhul kontrollima. See muudaks
Api oluliselt turvalisemaks.
No comments:
Post a Comment