Meeskond: Kodune Raamat

From ICO wiki

Meeskond

  • Siim Osa (projektijuht)
  • Taavi Kivimaa

Kirjeldus

Kodune Raamat on aine "Programmeerimine C# keeles" kodutöö

Üldine spetsifikatsioon

  • Võimaldaks sisestada kodused raamatud
  • Võimaldaks luua laenutajate profiile
  • Raamatuid välja laenutada (tähtajaliselt)
  • Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)

Võimaluse korral ka

  • Kui laenutaja profiilis on e-mail, siis saata automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”
  • Kuvada hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.
  • Lasta lisada raamatutele pilt
  • Luua lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)

Retsensioonid

Lõpptoote retsensioon

Retsenseering projektile Mardo Kodune Raamatukogu seisuga 26.01.2016 - https://wiki.itcollege.ee/index.php/Meeskond_Mardo

Nõuete täidetus (https://wiki.itcollege.ee/index.php/Juhend:_Kodutöö_aines_%22Programmeerimine_CSharp_keeles%22_(2015)#N.C3.B5uded_rakendusele)
Andmebaas on olemas, kuid on kasutatud vaid ühte tabelit (nõue on 6). Kõik andmed on ühte tabelisse kokku pandud.
Rakenduses salvestatakse muudatused andmebaasi sessiooni ajaks. Ehk rakenduse taaskäivitamisel kuvatakse siiski vanad andmed.
Rakendus kasutab edukalt WPF liidest.
Rakenduse koodil puuduvad kommentaarid. Dokumentatsiooni poole pealt on rakenduses endas nupp "Abi", mis selgitab rakenduse eesmärki, kuid sellega dokumentatsioon ka piirdub.
Kood on tõepoolest kirjutatud c# programmeerimise keeles.
Rakenduse kood on kohati jaotatud kihtidesse - andmebaas on eraldiseisev ja erinevad vaated (mida on 3) on paigutatud vastavasse kausta.
Projekti arvustus

Nagu Meeskond Mardo enda projekti lehel juba mainis, siis pole tegemist päris tervikliku projektiga. Võiks lausa öelda, et on loodud on ainult esialgne visuaalne baas. Käima on saadud ka andmete lugemine ja kuvamine. Rakenduse esilehel on kasutajale vajutada kolm nuppu.

  • Esimene nupp avab esemete nimekirja, kus on exceli tüüpi tabel, mis on täidetud kolme objektiga, millel on 6 omadust(ID, pealkiri, autori nimi, lühikirjeldus, seisukord ja laenutamise staatus). Antud tabelis on võimalik muuta objektide andmeid ja lisada uusi abjekte. Esineb ka "salvesta" nupp, millele vajutades salvestatakse tõepoolest muudatused aga seda vaid antud sessiooniks. Rakenduse sulgemisel ja taasavamisel ei kajastu tehtud muudatused. Kuvatud tabel tundub ebapraktiliselt koostatud. Lihtsam oleks olnud kasutada ListView'd, mis on täpselt selleks eesmärgiks. Sellegipoolest on tabelis kuvatavad andmed edukal esitatud Bindingu abil.
  • Teine nupp on "About" stiilis, mille avanemisel kuvatakse uus aken, milles esineb lihtne lühikirjeldus antud rakendusele. Miinuseks on, et tutvustav tekst on otse vaate XAML'i sisse pandud. Oleks võinud seda samuti bindida.
  • Kolmas nupp peaks avama vaate, kus saab raamatu kellelegi laenutada ja andmed salvestada. Kahjuks läheb nupu vajutusega rakendus katki aga koodi uurides toimib sarnaselt esimese nupuga.
Lõppsõna

Ega siin midagi head väga öelda pole. Projekt ei ole saavutanud oma soovitud eesmärki ja see mis on valminud töötab ka pooleldi. Kirjutatud on laias laastus kuskil 20 rida koodi + andmebaas ja XAML. Plussina leiavad retsenseerijad, et projekti käivitamine oli lihtne. Tuli vaid alla laadida ja Visual Studioga käivitada. Retsenseerijad sümpatiseerivad Mardo arenduskeskonna- ja pisiprobleemidega, ka meil tuli nendega tegeleda. Samuti tuleb, olenemata projekti väiksest mahust, tuleb tunnustada, et on vähemalt midagi esitatud. Retsenseerijad soovivad Meeskond Mardole edaspidi suuremat järjepidevust.

Projekti Arendus

Kasutatav tehnoloogia

  • Kasutatav raamistik: .NET Framework 4.5
  • Kasutatav tehnoloogia: C#, Microsoft SQL Server Management Studio, Entity Framework, LINQ

Arendusprotsess

*21.09.2015

Meeskonna suusõnaline loomine

*25.10.2015 

Projekti idee valimine, Wiki lehe loomine, TFSi konto loomine ja õppejõule kutse saatmine

*13.12.2015

Projekti prototüübi esitamine. Asukoht https://s-osa.visualstudio.com/DefaultCollection/_git/KoduneRaamat1.0

Mis on tehtud
Algeline UI.
Andmebaas, mis hoiab endas raamatuid ja kasutajaid.
Rakendus kuvab lokaalsest andmebaasist raamatute nimekirja, mida on võimalik otsida ning sorteerida.
Raamatuid on võimalik andmebaasis lisada, muuta ja kustutada.
Rakenduses on võimalik registreerida kasutaja ning vastavalt andmetega sisse logida.
Rakendus laseb koostada aruanded registreeritud kasutajatest, laenutatud raamatutest ja mitte-laenutatud raamatutest.
Mis on pooleli
Profiili vaade
Raamatute laenutamise kajastumine kasutaja profiilis
Tähtajaline laenutamine
Mis on tegemata
Andmebaasis tuleb luua "RaamatuKasutaja", mille abil ühendada laenutatud raamatud ja kasutajad, ning sellele loogika kirjutada.
MVVM mudelit pole kasutatud.
*20.01.2016
Projekti ametlik esitamine.
Asukoht http://www.upload.ee/files/5496686/Kodune_raamat_1.zip.html
Andmebaasi script http://www.upload.ee/files/5496689/script.sql.html
Mis on tehtud (alates viimasest korrast)
UI on oluliselt paremaks tehtud.
Andmebaasi on lisatud uusi tabeleid. (HinneRaamatule, RaamatuAutor, RaamatuKasutaja, jne).
Raamatute nimekirja saab sorteerida nende saadavuse järgi.
Autoreid on võimalik andmebaasi lisada.
Kasutaja parool hashitakse.
Raamatule on lisatud keskmine hinne, mis ka kuvatakse visuaalselt kasutajale.
Projekti failid on paremini organiseeritud.
Laenutamiseks peab olema sisse logitud.
Mis on tegemata
Raamatut ei saa tagastada.
Kasutaja profiili kuvamine (info laenutatud raamatute kohta, jne).