Meeskond:XYZ

From ICO wiki

Tiim

  • Andero Samelselg (juht)
  • Eve Ormisson
  • Kaisa Lindström

Ajakava

  • 27.09.2017 Tiimi kokkupanek
  • 01.10 Ajurünnak, idee vormimine
  • 20.10 Lõpliku idee lukkupanemine
  • 05.11 Rakenduse analüüsi valmimine
  • 10.11 Tiimi Scraper analüüsile retsensiooni valmimine
  • 21.12 Rakenduse prototüübi esitlemine
  • 18.01.2018 Rakenduse lõpptoote esitlemine

Idee

Luua rakendus, mis võimaldaks kokku viia lähestikku elavad autojuhid ja kaassõitjad, kes soovivad sõita sarnase asukohaga sihtpunktidesse.

Tehnoloogia

  • C#
  • WPF
  • SQL

Versioonihaldus

https://andero91.visualstudio.com/XYZ/

Rakenduse analüüs

IT Kolledži uksest novembrivihma astudes on nii mõnelgi jala liikleval tudengil mõttesse sähvanud, et äkki keegi just liigub siitsamast Tehnopolist autoga kesklinna poole. Üsna suure tõenäosusega liigubki. Võibolla on juhtide hulgas ka neid, kes rõõmustaksid seltskonna üle - ühiseid jututeemasid on sama kooli inimestel ju kerge leida. Nii võivad autosõidud osutuda tutvuse või isegi sõpruse alguseks, anda võimaluse jagada materjale ja õppimisalast infot ning miks mitte panna aluse koostööks nii koolis kui väljaspool kooli.

Või siis pakub ühine autosõit lihtsalt võimaluse kuiva jalaga ja meeldivas seltkonnas sihtpunkti jõuda. Ainult et kuidas need õiged inimesed õigel hetkel üles leida?

Meie eesmärgiks on luua rakendus, mis võimaldab viia kokku lähestikku elavad, töötavad või õppivad autojuhid ja kaassõitjad, kes regulaarselt liiguvad sarnase asukohaga sihtpunktidesse.

Rakendus võiks hästi toimida suurtes organisatsioonides, mis asuvad kesklinnast eemal, nagu näiteks TTÜ/Tehnopol, PERH vmt. Nendesse asutustesse ühistranspordiga jõudmine võib olla tähelepanuväärselt ebamugavam kui autoga, võttes märgatavalt rohkem aega. Samuti võib osutuda vajalikuks kasutada mitut erinevat transpordivahendit.

Samas on liiklusummikud tööpäevade hommikuti ja õhtuti muutumas üha suuremaks probleemiks. Kui ühistranspordiga tööle jõudmine on liiga keeruline või ajakulukas, ei jää inimesel muud üle, kui sõita tööle autoga. Sageli on täidetud ainult juhiiste, kuigi autosse mahuks mugavalt veel vähemalt kolm inimest.

Tööle jõudnud inimesel võib tekkida raskusi sõiduki parkimisega, sest ka tema kolleegid on aja kokkuhoiu eesmärgil tööle sõitnud oma autoga. Kui igapäevaselt samadel trajektooridel liikuvad inimesed hakkaksid tööle liikuma ühiselt, vähendaks see nii ummikuid kui ka parkimiskohtade nappusest tulenevaid ebameeldivusi. Samuti võib sellise koosliikumise tagajärjel tekkida uusi tutvusi või isegi sõprussidemeid.

Kui oma osakonna, kursuse või kontori inimestega on lihtne üheskoos sõitmise kokkuleppeid teha (ja seda kasutatakse üha enamgi), ei pruugi suurtes organisatsioonides samas piirkonnas elavate töötajate kokkuviimine väga lihtne olla. Suurtes organisatsioonides võivad inimesed töötada kõrvuti osakondades aastaid, omavahel kunagi tutvumata. Sellistes olukordades oleks meie planeeritavast rakendusest palju abi.

Autojagamise kokkuleppeid võib olla mitmesuguseid: üks variant on, et mitu autoomanikku võtavad teineteist korda-mööda peale või teine variant, kui kokkulepe on sõlmitud autojuhi ja nn “hääletajate” vahel, kellel isiklik sõiduvahend puudub. Autojuht määrab aja ja koha, kust sõit algab, “hääletajad” peavad kokkulepitud ajaks sinna kohale jõudma. Samuti sõidab autojuht konkreetselt sinna kohta, kuhu ta ise peab jõudma. Tee peal saab teha küll peatusi, kuid ümbersõite ei tehta. Kaassõitjad liiguvad sihtkohta jõudes vajadusel viimase teelõigu iseseisvalt. Loomulikult on võimalik teha kõikide osapoolte nõusolekul erikokkuleppeid, kuid üldise mudelina peaks sõit olema juhile võimalikult mugav. Juhi jaoks peaks kaassõitjate sõidutamine nõudma võimalikult vahe lisapingutust ning ei tohiks tähendada lisanduvat aja- ja kütusekulu.

Rakendusega võiks kaasas käia motivatsiooniprogramm, et julgustada autojuhte teisi peale võtma. Sõitude eest koguvad juhid punkte, samuti võiksid kaassõitjad saada head juhti tunnustada. Regulaarsed ja teiste poolt tunnustatud küüdipakkujad võiksid oma panuse eest ummikute vähendamisse saada soodustust näiteks kütuse ostmisel või tasulistes parklates parkimisel jne.

Kõrgendatud tähelepanu nõudvad ülesanded

Kõige keerulisema ülesandena näib meile rakenduse sidumine kaardirakendusteenusega ja nende omavaheline andmete jagamine.

Tööjaotus

Rakenduse loomisel näeme kolme suuremat alateemat ja ülesannet:

  • Töö andmebaasiga
    • Luua andmebaas, mis hõlmaks kõiki rakenduse kasutajaid.
  • Töö WPF-ga
    • Luua toimiv rakendus ning selle graafiline kasutajaliides.
  • Töö kaardirakendusega
    • Implementeerida funktsionaalsus, mille abil saaksid kasutajad täpsustada asukohti ning näeksid planeeritud trajektoori kaardil.

Reaalse töö alguses lepime kokku konkreetse aja (tundides), mida igaüks peaks nädala raames (vähemalt) projekti panustama. Lepime kokku koodistiilis ja muudes tehnilistes detailides.

Kuna tiimis on kolm liiget, algab töö sellest, et igaüks uurib ühte teemadest põhjalikumalt ja alustab oma ülesande raames rakenduse loomist. Õppe-eesmärgil, aga ka suurema ühtluse saavutamiseks planeerime ülesandeid tiimiliikmete vahel roteerida. Igaüks töötab mingi aja konkreetse alamteemaga, siis vahetatakse ülesanded. Enne ülesannete roteerumist tutvustame üksteisele, mida vahepeal teinud oleme, kuhu jõudsime ja kuidas oleks meie arvates mõistlik edasi minna. Sellised vahekoosolekud tagavad ühise arusaama rakendusest ning jätavad võimaluse vajadusel muudatuste tegemiseks. Samuti peaksid need ära hoidma topelttöö, meid üksteise tegevusega kursis hoidma ning andma võimaluse üksteiselt õppida.

Must-have features

  • Nii autojuhid kui ka kaassõitjad saavad rakendust kasutada läbi kasutajaprofiilide, mille jaoks on vaja luua andmebaas. Juhi ja sõitja kasutajaprofiilid on erineva sisuga. Juhi kohta on kasutajaprofiilis kirjas tema ees- ja perekonnanimi, isikut tõendava dokumendi info, tema pilt ning info sõiduki kohta: automark, pilt jne. Sõitja profiilis on kirjas tema ees- ja perekonnanimi, isikut tõendava dokumendi info ning pilt sõitjast. Mõistagi on delikaatsemat sorti isikuandmed teiste tavakasutajate eest varjatud.
  • Rakenduses peab olema võimalik kasutajatel asukohti sisestada. See tähendab, et autojuht saab rakenduses sisestada, kust kuhu ja millal ta on autoga liikumas ning kaassõitja saab pärast soovitud sihtkoha sisestamist näha neid autojuhte, kes on tema läheduses asuvast alguspunktist soovitud sihtpunkti (või selle lähedusse) liikumas.
  • Kasutajakogemuse parandamiseks peab rakenduses olema graafiline kaardirakendus, mille abil on rakenduse kasutajatel võimalik kaardil näha nende asukohta antud hetkel ning planeeritud trajektoori alguspunkti ning sihtkohta.

Nice-to-have features

  • Pärast seda, kui on selgunud, et on olemas autojuht ja kaassõitja, kes soovivad sarnasel ajal sarnasesse kohta minna, võiks osapooltel olla võimalik vahetada rakendusesiseselt sõnumeid. Selle funktsionaalsuse eesmärk oleks anda osapooltele võimalus täpsustada sõiduga seonduvaid detaile. Näiteks saab juht sõnumi teel kaassõitjale teada anda, millise trepikoja juurde kaassõitja peaks tulema.
  • Kaassõitjal oleks ehk rakendust mugavam kasutada, kui tema asukoht tuvastataks automaatselt. Näiteks kui kaassõitja asub rakenduse kasutamise hetkel samas kohas, kust ta soovib oma sõitu alustada, oleks tal automaatse asukohatuvastamise abil väga kerge leida see asukoht graafiliselt kaardirakenduselt üles.
  • Läbimõeldud, esteetiline ja mugavalt kasutatav graafiline kasutajaliides.
  • Motivatsiooniprogramm juhtidele - sõitude eest punktide kogumine ja andmine, kaassõitjatele võimalus lahket juhti tunnustada.

Analüüsi retsensioon

Retsensioon tiimi Scraper analüüsile

Lõpptoode

Projekti lõpptoode koos dokumentatsiooniga asub zip-arhiivi kujul siin.