Meeskond "akaver"

From ICO wiki
Jump to navigationJump to search

Tagasi: https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012%28kaug%C3%B5pe%29

Kirjeldus

Taust

Olen seotud sellise organisatsionoiga, nagu EAMK - Eesti Automudelismi Klubi. Seda nii organisatoorselt poolelt, kui ka ise aktiivselt sportlasena.
Suur probleem on võistluste tehniline ettevalmistus - osalejaid ja eri klasse on palju, segadust palju.
Eri mudeliklasse samal võistlusel 3-6 ja oseljaid kuni 100 (suurvõistlustel kuni 300) - ning võistlusi aastas ca 30 - võistluste haldamine käsitsi on keerukas ja veaaldis.

Eesmärk

Automatiseerida võistlejate/mudelite registreerimine võistlustele, tagada korrektse info jõudmine korraldajateni/ajavõtusüsteemi.
Lihtsustada sektsiooni juhatuse tööd, seeläbi võimaldades neil tegeleda muude asjadega.
Muuta registreerumine võistlustele võimalikult lihtsaks osalejatele.

Esmased vajadused (Must have)

  1. Klubi liikmete register
  2. Võistlejate register (ka mitte EAMK liikmed)
  3. Võistlusmudelite register
  4. Võistluskalender
  5. Võistlustele registreerimine
  6. Võistlusinfo eksport ajavõtusüsteemi

Hilisem vajadus (Nice to have)

  1. Võistlustulemuste kajastamine
  2. Klubi liikmete litsentside väljastamine/tasude korjamine

Tööetapid

  1. Süsteemi olemi (ERD) ja nö. paberprototüübi loodavast veebikeskonnast koostamine koostöös EAMK juhatuse liikmetega. (Tegemist on tehnikaspordiga – kõik mis ei ole lubatud, on keelatud. Seega baasspetsifikatsiooni koostamisel on otsustav hääl EAMK juhatusel – mitte süsteemi lõpptarbijatel)
  2. Võistlejate/klubi liikmete vajaduste täpsustav ülevaade intervjueerides klubi liikmeid. EAMK juhatus tagab liikmete kättesaadavuse.
  3. Esmane lõplik infosüsteemi spetsifikatsioon ja teostuse etappideks jagunemineni - kinnitatakse EAMK juhatuse poolt.
  4. Infosüsteemi etapiviisilne realiseerimine.
  5. Tekkinud puuduste ja/või avastatud funktisonaalsuse puudujääkide kõrvaldamine.

Team

Andres Käver - ise üksinda tantsin ja laulan.

Server

https://wiki.itcollege.ee/index.php/File:Server.jpg


XML

XML

("Unusual Suspects" retsensioon)

XSD

Sageduste ülevaade XSLT

Sõitjate/mudelite ülevaade XSLT

Retsensioonid

Pildiportaal ASP.NET

Pildiportaal ASP.NET lõpplahendus

Söörlösed XML

Söörlösed Teenus

Söörlösed Teenuse Klient

Unusual Suspects XML

Unusual Suspects Teenus

Unusual Suspects Teenuse Klient

asp.net

http://eamk.akaver.com

WCF teenus

http://eamk.akaver.com/service/EAMKService.svc

WCF teenuse klient

Kirjutan õige Windows Phone peale ühe rakenduse. How hard can it be....? Not so hard! Rakendus valmis ja töötab.

Projekti lähtekood

https://www.dropbox.com/sh/s1k4z871nk1y2zb/YXW2JaFz5k

Päevik

02/04
Tõin eraldi usb klaveri maci taha virtuaalmasina windowsi jaoks ja hakkasin Visual Studio 2010'ga xmli tegema. 
Omandasin hulga kirjandust ja tutoriale (elus esimest korda katsun lähemalt kogu MS arendusvahendite komplekti).
Alustasin Wikiga.
Installeerin serverfarmi Windows Server 2008 R2'e ja MS SQL'i. Kui juba, siis juba.

03/04
XML veits keerukamaks. Kõikvõimalikud seosed eri elementide vahel atribuutidesse.

22/04
Töö käib hirmsa hooga. Hakkasin asp.net poole pealt lähenema: ERD tehtud, baasid valmis, funktsionaalsus paberil koos.

23/04
Üritan täna serveri püsti panna. Kõvakettapoe külastus.

25/04
Server installeerub. Tehtud umbes 87 restarti. SQL veel vaja kah peale ajada.
Liikusin koodi poole pealt üle MVC4'le. Kui thunderbolt ketta kätte saan, 
proovin buutida win7'se otse ja minna kogu arendusega üle beeta versioonidele.
Kasutajate loomine jmt valmis ja toimib pärast mõningast MVC templatega kaasatulnud lahenduse ümberväänamist.

26/04
123 restarti serveris tehtud ja kõik installeeritud.
asp.net'i tiimidele access laiali jaotatud.
http://pildiportaal.akaver.com
http://eamk.akaver.com

Andre seadistas iisi ja sqli söödavaks ja toimivaks. Tänud!

08/05
Toimus mõningane tööseisak seoses kaugõpe koolisessiooniga ja eksamitega. Peab ju teiste ainetega kah tegelema.
Vahepeal sai tehtud:
Kogu arendusmasin ümber ehitatud, osx sai koomale nihutatud ja eraldi win7 bootcamp osa loodud.
On parem.
Ohjeldamatu kogus kirjandust läbi loetud.

09/05
Otsustasin, et enam rohkem .net'i õhku ei õpi - kogu teooriat ikka niisama selgeks ei saa.
Hakkan param koodi väänama.
Veits olen mures, et eksam on asp.net'i peale, ma aga realiseerin projekti mvc's - mingil hetkel peab asp.neti kah veits vaatama.

14/05
Käisin koolis Visual Studio 2011 ja MVC seminaril. Targemaks ei saanud. Küsimustele vastuseid väga häid ei saanud....

16/05
Olen hirmsa hooga MVC'd endale selgeks teinud ja praktilise poole pealt kuhugi 50% juurde koodi/funktsionaalsuse mahust jõudnud. 
See siis asp.neti osa kohta. Nüüd hirmus maraton asp.neti 90% peale saamiseks ja siis veebiteenus. Olen ajahädas. 
Vahepeal peab ka teesklema töö tegemist ja koolis kah mingeid asju käima tegemas.

20/05
asp.net osa valmis ja serverisse kah püsti pandud. Jäänud veel testimine/lihvimine, kujundusega/sõnastusega peab veits vaeva nägema,
kood kommenteerida. Kood tuleb ümber kirjutada, hetkel on kogu äriloogika controllerites. Ja dependency injection kah kohe õieti valmis teha.
Must have funktsioonaalsus on kaetud.

Baasäriloogika kontrolleritest eraldi kirjutatud. DI on kah olemas, ehki selline kodukootud. NInject tuleb järgmiseks ette võtta.
Teenus näitab esimesi elumärke.

asp.net osa:
http://eamk.akaver.com

WCF teenus:
http://eamk.akaver.com/service/EAMKService.svc

Kõik on olemas ja toimib. Kuna tegu on nn pärisprojektiga, siis arendus käib kõikidel rinnetel. 
Tänu sellele on teenused väga hüplikud - kirjutan kogu aeg midagi juurde ja ümber.

Hetkel näeb klient välja selline:

            using (ServiceReference1.EAMKClient client = new ServiceReference1.EAMKClient())
            {
                Console.WriteLine("Local....");
                ServiceReference1.RaceEvent raceEvent = client.GetRaceEvents().SingleOrDefault();
                Console.WriteLine(raceEvent.Name);
            }
            using (ServiceReferenceRemote.EAMKClient client = new ServiceReferenceRemote.EAMKClient())
            {
                client.ClientCredentials.Windows.ClientCredential.UserName = "wcf";
                client.ClientCredentials.Windows.ClientCredential.Password = "100KalaMaja";

                Console.WriteLine("Remote....");
                ServiceReferenceRemote.RaceEvent raceEvent = client.GetRaceEvents().SingleOrDefault();
                Console.WriteLine(raceEvent.Name);
            }

Töötab nii mis mühiseb...

21/05
Windows Phone arendus alaku....
Tööseisak mõningane, homme on matemaatika eksam ja viimane kt - koos päevastega. 

Microsoft Eesti eraldas mulle arendamiseks ajutiselt Windows Phone reaalse aparaadi. Tänud!

26/05
Esitluse päev
WinPhone rakendus toimib, kaks ekraanivormi olemas.

Esitlus edukalt kõigil, kes midagi teha viitsisid tehtud, nii ka minul. Oli tore.

27/05
Kogu projekti kood on kättesaadav siit:
https://www.dropbox.com/sh/s1k4z871nk1y2zb/YXW2JaFz5k
On eraldi rar fail, kus on projekt täismahus ja kataloogis lahtisel kujul on olemas kõik koodifailid (kustutasin maha kõik liigse, obj-dll-jmt).
Projekt koosneb mitmest jupist
EAMK - asp.net mvc veebsait koos data access layerite ja modelitega
EAMKService - teenus veebsaidi meetodite peal
EAMKServiceHost - IIS'is hostitav teenuse pool
EAMKPhoneApp - Windows Phone rakendus, mis teenust tarbib ja infot kuvab