OnTime: Difference between revisions
Line 139: | Line 139: | ||
* Registreerimine toimib | * Registreerimine toimib | ||
* Sisse logimine toimib | * Sisse logimine toimib | ||
* Registreerimisel määratakse automaatne kasutaja ajatsoon | |||
===== Must have ===== | |||
*''Leida google API abiga kasutaja sisestatud asukohad.'' | |||
*''Genereerida asukohtadest UTC ajatsoon. Nii talve kui ka suveaegadeks.'' | |||
*''Realiseerida algoritm ühiste aegade arvutamiseks.'' | |||
*''Realiseerida kasutajate loomise võimalus.'' | |||
*'''Funktsionaalsus kasutaja andmete muutmiseks.''' | |||
*''Kasutaja registeerimisel lisada automaatselt ajatsoon.'' | |||
*'''Realiseerida kasutajate võimalus lisada ebasovibaid ajavahemikke.''' | |||
*'''Realiseerida algoritmi lisa, mis kontrollib ebasobivaid ajavahemikke otsinguil.''' | |||
*''Võimalus lisada otsingusse teisi kasutajaid.'' | |||
*''Leida ajatsoonid kasutajanime alusel.'' | |||
*'''Kasutajad saavad muuta default sobivat ajavahemikku *(retsentsiooni idee) | |||
''' |
Revision as of 23:06, 1 December 2016
Meeskond ja rollid
- Tatjana Kruglova - all-in-one
Projekti TFS
https://ontimekruglova.visualstudio.com/OnTime
Analüüs
OnTime on wpf rakendus, mille abil on võimalik efektiivselt leida päeva sees ühist suhtlemise aega üle kogu maailma. Rakenduse eesmärk on lubada kasujatel otsida ajavahemikke, millal on neil kõige mugavam omavahel suhelda. Kasutaja saab sisestada oma asukoha ning teise inimese asukoha kellega ta soovib suhelda, mille alusel leiab rakendus suhtlemiseks päevase ajavahemiku. Kasutajal on võimalik ostingusse lisada mitu erinevat asukohta. Asukohtade otsingu abiks on Google API, mis aitab tõhusamalt leida õiged asukohad. Asukohtade alusel leiab rakendus õiged ajatsoonid, nii suve kui ka talveaegadel. Ajatsoonide järgi leiab rakenduse algoritm ühised ajavahemikud. Klientidel võimalik end registreerida rakenduse kasutajaks. Registreeritud kasutajatel on lisavõimalused. Lisavõimalusteks on näiteks see, et registreerimisel võtab rakendus kasutaja automaatse Windowsi ajatsooni, mistõttu otsingutel ei pea kasutaja enam enda asukohta määrama. Automaatset ajatsooni on kasutajatel ka vajadusel võimalus muuta. Kasutajatel on võimalik otsingusse lisada ka teisi kasutajaid, ilma nende asukoha teadmata. Süsteem vaatab, kas otsingusse on sisestatud kasutaja ning kui sellist kasutajat ei ole, otsib süsteem järgnevalt sama nimega asukohti. Lisaks saab registreerunud kasutaja lisada endale ebasobivaid ajavahemikke päeva vältel, mida hiljem rakendus oma ühise aja otsingutest välja arvestab.
Kasutuslood
Ühiste ajavahemike otsimine (registreerimata):
Klient avab rakenduse ning sisestab otsingu väljadele asukohad mille vahel soovib leida ühiseid aegu. Vaikimisi pakub süsteem otsinguvälju kahe sisendi jaoks, kuid välju saab juurde lisada. Kui klient on asukohad lisanud, otsib süsteem asukohtade järgi nende ajatsoonid ning kui sisendid on valiidsed kuvab kasutajale algoritmist tulnud ühised ajavahemikud. Juhul, kui asukohti ei leitud, väljastatakse kasutajale veateade.
Kasutaja registreerimine:
Klient avab rakenduse ning soovib registreerida end süsteemi kasutajaks. Registreerimisel küsitakse kasutajanime, parooli, emaili aadressi. Kasutaja sisestab nõutud andmed ning süsteem valideerib sisestatud andmeid. Kui andmed on valiidsed, luuakse uus kasutaja. Vastasel juhul kuvatakse kliendile veateade. Veateated võivad tulla, kui sisestatud emaili aadressi või kasutajanimega kasutaja on süsteemis juba olemas. Loodud kasutajale tekivad uued väljad. Kasutaja saab lisada endale ebasobivad ajavahemikud ning (Nice to have) importida Google või Outlooki kalendrid süsteemi, mille alusel süsteem lisab ise ebasobivate ajavahemike hulga.
Ühiste ajavahemike otsimine (registreeritud):
Klient avab rakenduse ning logib rakendusse sisse. Vaikimisi pane süsteem esimeseks otsitavaks väljaks kasutaja ajatsooni, selle välja võib kasutaja vajadusel ära muuta. Kasutaja sisestab otsingu väljadele asukohad või kasutajanimed mille vahel soovib leida ühiseid aegu. Vaikimisi pakub süsteem otsinguvälju kahe sisendi jaoks, kuid välju saab juurde lisada. Kui klient on asukohad või kasutajanimed lisanud, otsib süsteem kasutajanimede järgi nende ajatsoonid ning kui sellist kasutajanime süsteemis ei leidu otsib süsteem sama nimega asukohti. Asukohtade järgi otsitakse nende ajatsoonid ning kui sisendid on valiidsed kuvab kasutajale algoritmist tulnud ühised ajavahemikud. Juhul, kui asukohti ei leitud, väljastatakse kasutajale veateade.
Kasutaja andmete muutmine:
Klient avab rakenduse ning logib rakendusse sisse. Klient saab vaadata ning muuta enda andmeid. Muudetavateks väljadeks on ajatsoon, parool ning valik ebasobivaid ajavahemikke. Väljade korrektsust ei kontrollita, uuendus toimub automaatselt. Hiljem(Nice to have) on kasutajatel võimalik ka lisada ning kustutada teisi kasutajaid sõbralistist.
Ebasobivate ajavahemike lisamine:
Klient avab rakenduse ning logib rakendusse sisse. Klient saab vaadata enda andmeid. Lisaks andmetele saab klient muuta või lisada endale ebasobilikke ajavahemikke, mida süsteem pärast otsingust välja jätab. Vaikimisi saab kasutaja lisada ühe ebasobiva ajavahemiku kella 8.00 ja 22.00 vahel. Lisavälju rohkemate ajavahemike jaoks saab ükshaaval lisada. Lisaks(Nice to have) võib kasutaja lisada süsteemi .ics faili Google või Outlook kalendrist, mis ise genereerib ebasobivad ajavahemikud. Süsteem ei valideeri vahemike omavahelist kattuvust. Peale ajavahemike lisamist ei arvesta süsteem enam neid aegu sobivateks.
Rakendus koosneb:
- Windows Presentation Foundation kasutajaliidest, mille abil saab kasutaja lisse logida ning lisada asukohti. Kasutajaliidese abil kuvatakse kasutajale otsitavad väärtused.
- Microsoft SQL Server andmebaasist, kus talletatakse andmeid kasutajate kohta, kasutajate ebasobivate ajavahemike kohta ning kasutajate ajatsoonide kohta.
- Rakenduse sisuks on C# keeles kirjutatud algoritm, mis otsib ühiseid aegu etteantud sisenditest.
- Rakendusele lisaks on sisse ehitatud ühendus Google API-ga asukohtade otsingute hõlbustamiseks.
Must have
- Leida google API abiga kasutaja sisestatud asukohad.
- Genereerida asukohtadest UTC ajatsoon. Nii talve kui ka suveaegadeks.
- Realiseerida algoritm ühiste aegade arvutamiseks.
- Realiseerida kasutajate loomise võimalus.
- Funktsionaalsus kasutaja andmete muutmiseks.
- Kasutaja registeerimisel lisada automaatselt ajatsoon.
- Realiseerida kasutajate võimalus lisada ebasovibaid ajavahemikke.
- Realiseerida algoritmi lisa, mis kontrollib ebasobivaid ajavahemikke otsinguil.
- Võimalus lisada otsingusse teisi kasutajaid.
- Leida ajatsoonid kasutajanime alusel.
Nice to have
- Kasutajatel sõbralisti võimalus.
- E-maili verifitseerimine registreerimisel.
- Realiseerida kasutajate võimalus lisada ebasobivaid ajavahemikke kalendri failiga.
- Luua ühendus Skype-ga, kui algoritmi leitud ajavahemik on praegune, pakub rakendus teha Skype kõne.
Võimalikud probleemid
- Nõutud ühendus google API-ga
- Ei jõua rakendust terviklikult valmis
- Kalendri faili parsimine.
- Puuduvad teadmised ühenduse jaoks Skype-ga.
Retsensioonid
TODO
Lõpptoode
TODO
Idee
Rakendus, mille abil on maailma eri paikades olevatel isikutel organiseerida ühiseid online-kohtimisi.
Tehnoloogia
Kasutatav tehnoloogia:
- C#
- Windows Presentation Foundation
- SQL
Funktsionaalsus
Must have
- asukohad (google API)
- asukohtadest UTC-d
- algoritm ühiste aegade arvutamiseks
- kasutajad/sisselogimine
- windowsist kasutajate ajatsoonid
- ajatsoonide vahetuse võimalus kasutajatel
- võimalus lisada ebasobivad ajavahemikud
- UTC otsing kasutaja ja asukoha järgi
Nice to have
- andmete parsimine Google või Outlook kalendrist
- ühendus Skype kõnedega
- emaili verifitseerimine
- sõbralist
Võimalikud probleemid
- ühendused API-dega
- kalendri parsimine
Töökulg
09.10.2016
- Teema ja meeskond õppejõuga kooskõlastatud
26.10.2016
- Lehekülg ja TFS valmis
- TFS kutse õppejõule saadetud
30.10.2016
- Esimene commit
- Analüüs
06.11.2016
- Ajatsooni otsing asukoha järgi
- Ühiste aegade leidmine asukohtade järgi
- Testid ühistele aegadele
- Andmebaas
- WPF pealeht
18.11.2016
- Andmebaasi võimalus muuta kasutajal default sobivaid aegu
- Andmebaasi võimalus lisada kasutajal ebasobivaid ajavahemikke
- Algoritmi parandus
20.11.2016
- WPF-ist saab küsida asukohti ja kasutajaid ning korrektne tulemus väljastatakse ekraanile
23.11.2016
Analüüs mis on tehtud ning mis veel vajab tegemist:
Must have
- Leida google API abiga kasutaja sisestatud asukohad.
- Genereerida asukohtadest UTC ajatsoon. Nii talve kui ka suveaegadeks.
- Realiseerida algoritm ühiste aegade arvutamiseks.
- Realiseerida kasutajate loomise võimalus.
- Funktsionaalsus kasutaja andmete muutmiseks.
- Kasutaja registeerimisel lisada automaatselt ajatsoon.
- Realiseerida kasutajate võimalus lisada ebasovibaid ajavahemikke.
- Realiseerida algoritmi lisa, mis kontrollib ebasobivaid ajavahemikke otsinguil.
- Võimalus lisada otsingusse teisi kasutajaid.
- Leida ajatsoonid kasutajanime alusel.
- Kasutajad saavad muuta default sobivat ajavahemikku *(retsentsiooni idee)
30.11.2016
- Register, Login, Account Settings leheküljed
- Navigeerimine lehekülgede vahel
01.12.2016
- Registreerimine toimib
- Sisse logimine toimib
- Registreerimisel määratakse automaatne kasutaja ajatsoon
Must have
- Leida google API abiga kasutaja sisestatud asukohad.
- Genereerida asukohtadest UTC ajatsoon. Nii talve kui ka suveaegadeks.
- Realiseerida algoritm ühiste aegade arvutamiseks.
- Realiseerida kasutajate loomise võimalus.
- Funktsionaalsus kasutaja andmete muutmiseks.
- Kasutaja registeerimisel lisada automaatselt ajatsoon.
- Realiseerida kasutajate võimalus lisada ebasovibaid ajavahemikke.
- Realiseerida algoritmi lisa, mis kontrollib ebasobivaid ajavahemikke otsinguil.
- Võimalus lisada otsingusse teisi kasutajaid.
- Leida ajatsoonid kasutajanime alusel.
- Kasutajad saavad muuta default sobivat ajavahemikku *(retsentsiooni idee)