Pie Piper

From ICO wiki
Revision as of 22:21, 30 October 2016 by Uuprus (talk | contribs) (→‎Analüüs)
Jump to navigationJump to search

Media:Example.ogg

Meeskond ja rollid

  • Villem Markus Loigom
  • Olari Pipenberg
  • Uku-Mart Uprus - Projektijuht (CEO)
  • Ardo Erik

Protokoll

  • 04.10.2016 - välja pakutud 4. ideest hääletasime üksmeelselt IM rakenduse tegemise poolt.
  • 13.10.2016 - projektijuht Uku-Mart Uprus.
  • 15.10.2016 - TFS võetud kasutusele kõigi tiimiliikmete poolt, õppejõule kutse saadetud, tiimiga esimese lahendusega tutvumine.
  • 21.10.2016 - Disainiti algne andmebaasi mudel rakenduse jaoks, otsustati kasutada projekti toetava osana olemasolevat WCF projekti koodi, arutati rakenduse funktsionaalsuse kohta.
  • 24.10.2016 - Loodi rakenduse põhi, lisati 2 andmebaasi tabelit, loodi registreerimise väljad.
  • 25.10.2016 - Loodi sisselogimise aken, kasutaja aken (sõbralist, sõprade lisamine).
  • 26.10.2016 - Rakenduse põhja jagamine loogilistesse kihtidesse (Service loomine).
  • 27.10.2016 - Rakenduse põhja jagamine loogilistesse kihtidesse (BOd), kolmanda tabeli loomine.
  • 29.10.2016 - Koodi silumine
  • 30.10.2016 - Sõbralisti kuvamine, sõprade lisamine

VAJA TEHA

  • Team Foundation Service kasutuselevõtt kõigi tiimiliikmete poolt ja õppejõule kutse saatmine
  • Projektijuhi valimine
  • Valmislahenduste uurimine (Milliseid teeke kasutatakse? Millised on üldlevinud praktikad?)
  • Panna paika rollid/ülesanded
  • Analüüsi loomine (01.11.2016)

Idee

Idee on luua IM (Instant Messenger) rakendus nagu seda on 'Windows Live Messenger'. Võimalik peab olema uusi kasutajaid registreerida, kasutajatega sisse logida ning kasutajate vahel sõnumeid vahetada. Tegemist on klient-server lahendusega, kus server autendib, autoriseerib ning vahendab kasutajate vahelist suhtlust.

Analüüs

Projekti ülesehitus

  • Kogu projekt on üles-ehitatud selliselt, et ta toimiks lokaalmasinas. Järgime õppejõu nõuannet kasutada rakenduse loomisel "Andmebaas << Äriloogika << Rakendus" loogikat. Mis on selle eesmärk? Eesmärk on see, et kood oleks hallatav ja vajaduse korral skaleeruv.

Mida see endas sisaldab?

  • Projekt sisaldab endas WPF-rakendust, konsoolirakendust ja andmebaasi. WPF-rakendus on mõeldud lõppkasutajatele toimingute tegemiseks. Konsoolirakendusega kuvame serveri teateid (nt "loodi uus kasutaja"), andmebaasis hoitakse informatsioon kasutajate ja sõnumite kohta. Loome kohaliku andmebaasi, mille nimeks saab "chatdb". Andmebaasi on planeeritud luua ~9 tabelit, mis peaks tagama rakenduse täieliku funktsionaalsuse. Andmebaasimudel võiks välja näha midagi sellist:

Koodipoolne struktuur:
ChatRoom
ChatRoom.BusinessObject (Kasutaja info)
ChatRoom.Domain (Vahekiht andmebaasiga)
ChatRoom.Service (Põhiloogika)
ChatRoom.View (Vaated/kujundus)

Mida tavakasutaja sellega teha saaks?

  • Tavakasutajal peab olema võimalus rakenduses registreerida ja sisse logida. Sisselogimis järgselt peab olema võimalus lisada/eemaldada sõpru, valida jututuba ning teostada sõnumivahetust antud konkreetses jututoas.

Milliste osade realiseerimine võib osutuda problemaatiliseks?

  • Sõnumivahetuse teostamine. Iseenesest sõnumite pärimine andmebaasist ning kasutajale nende kuvamine pole probleem. Küll on aga probleem sõnumite esitamisega reaalajas. Sõnumite vahetu esitamisega on vaja tõenäoliselt rakendada WCF temaatikat, mis nõuab lisauurimist.

Tööjaotus

  • Koodi kirjutatakse jooksvalt kõigi tiimiliikmete poolt koos. Peale prototüübi valmimist otsustame, kes mis osa hakkab lihvima.

Must have

  • Kasutajate registreerimine (sh vigade kontroll, näiteks lühike parool, kasutaja eksisteerib)
  • Kasutaja autentimine/autoriseerimine
  • Kasutajarollid (tavakasutaja, moderaator, admin)
  • Sõprade lisamine, sõprade nimekiri
  • Uute jututubade loomine
  • Suhtlemine jututubades
  • Kasutajate haldus (kick, ban)

Nice to have

  • Rakenduse osasid (server/klient) on võimalik jooksutada erinevates masinates
  • Sõnumite tsenseerimine

Tehnoloogia

Kasutatav tehnoloogia:

  • C#
  • XAML
  • WPF
  • WCF?