Masuuka
Meeskond "Masuuka" - ASP.net projekt
Ülevaade
Meeskonna "Masuuka" moodustavad Saul Talve ja Marko Kurm. Projekti teemaks on veebirakendus, mis aitaks masuaja inimestel pidada arvet oma sissetulekute ja väljaminekute üle. Samuti sisaldab rakendus ka CMS-i funktsionaalsust - veebiliidese abil on võimalik muuta lehekülje sisu. Kuna rakendus jaotub loogiliselt kahte ossa - ärirakendus (arvepidamine) ja CMS, siis otsustasimegi, et Saul tegeleb ärirakendusega ja mina (Marko) lisan CMS funktsionaalsuse.
Eesmärgid
Kõigepealt muidugi kõige suurem eesmärk - õppida ASP.net-is veebirakenduste tegemist.
Täpsemalt aga jaotusid eesmärgid järgmiselt:
1. Luua sisuhalduse funktsioonid (CMS) - teeb Marko:
- lehekülje lisamine - lehekülje publitseerimine - lehekülje depublitseerimine - lehekülje kustutamine - lehekülje sisu muutmine
2. Kasutajate haldamine:
- kasutaja lisamine - kasutajale grupi määramine - kasutaja kustutamine - kasutajagrupi loomine
3. Ärirakendus (Saul):
Andmemudel
Nagu üldkontseptsiooni tasemelgi, jaguneb ka andmemudel kahte sisuliselt erinevasse osasse. Sisuhalduse andmeid hoitakse olemites "content" ja "SiteMap"; arvepidamisega seotud andmeid olemites "balance", "entry", "tag" ja "entrytag".
Asja mõte oleks siis järgmine, et sisuhalduse lehekülje kirjed asuvad "SiteMap" tabelis, ning WYSIWYG-iga muudetav sisu tabelis "content". Arvepidamisel lähevad kõik arvepidamise kirjed (nii sissetulekud kui ka väljaminekud) tabelisse "entry". Iga kirjega saab "tag" siltide sõnastikust siduda sobivaid silte, ja need seosed lähevad kirja olemisse "entrytag". Kuna arvepidamine toimub kuukaupa, siis kuu algsaldo ja summeeritud sissetulekud ning väljaminekud asuvad tabelis "balance".
Rakenduse ülesehitus / struktuur
Otsustasime, et ehitamise ja hilisema integreerimise huvides on mõistlik hoida CMS ja arvepidamine võimalikult eraldiseisvana. Seda nii andmebaasi, funktsionaalsuse kui ka failistruktuuri tasandil.
Andmebaasiks valisime MSSQL-i kuna see toode on Visual Studioga lähedalt seotud toode, ja halduse/arenduse tööriistu andmebaasi jaoks ei pidanud eraldi otsima. Marko kasutas andmebaasina mdf faili, Saul otsustas SQLEXPRESS-i kasuks.
Projekti kataloogistruktuur läks algselt paika nii nagu "Web Application" tüüpi rakendusel Visual Studio seda korraldab. Hiljem tõstsime arvelduse osa eraldi alamkataloogi "accounting", kuhu läksid nii aspx failid, masterid kui ka graafika ja CSS stiilid.
Andmekihi osas kasutasime kahte stiili: mõnel pool harilikku SqlProvideriga andmebaasi külge minemist ja harilike SQL päringute tegemist, mõnel pool aga LINQ-2-SQL klasse.
Kujunduse ja muu staatilise sisu eraldamiseks kasutasime master pagesid, nii sisuhalduse kui ka arvepidamise poolel.
Kasutatud abivahendid / raamistikud
1. TinyMCE - javascript WYSIWYG editor (http://tinymce.moxiecode.com/)