Meeskond "WPX"

From ICO wiki
Jump to navigationJump to search

Liikmed.

  • Heiki Tamm
  • Alfi Kannus
  • Mailis Toompuu

Projekt:Tunniplaani Rakendus

Eesmärgid.

  • Luua tunniplaani rakendus, mis vastavalt isikule kuvaks tema isiklikku tunniplaani.
  • Tunniplaani rakendust peaks olema võimalik ka kasutada teistes koolides, mis kasutavad Õisi süsteeme. (nt. TTK)
  • Windows Phone 7, Android, iPhone

Probleemid.

  • Tudengid soovivad oma uute nutitelefonidega tunniplaani vaadata telefonist. Kuidas seda teha?
  • Mis formaadis saame tunniplaani Õisist?
  • Kuidas andmeid lugeda jsoni formaadist?
  • Kuidas andmeid lugeda iCali formaadist?
  • Kumba on targem kasutada?
  • Kuidas andmed kätte saada vastavalt formaadile?
  • Kuidas andmed viisakalt formeerida ning kuvada?
  • Kuidas andmed sorteerida päevadeks ning neid eraldi kuvada?
  • Kuidas kõik tööle panna Windows Phone 7 peal?
  • Kuidas tööle saada iPhonel ja Androidil

Tegevustik.

1. Päev - Esmaspäev 28.03.11

  • Saime terve tunniplaani feedi json formaadis ning tegeleme selle töötlemisega.
https://itcollege.ois.ee/schedule?format=json
  • Saime idee võtta json-i asemel ical fail ja sellele parser teha
https://itcollege.ois.ee/schedule/ical?format=ical
  • Lugesime usinalt XNA ja C# raamatuid.


2. Päev- Teisipäev 29.03.11

  • Andmete töötlemine iCali failist.
  • Kuidas optimaalselt C# iCalist andmeid kätte saada.
  • iCali struktuur
  • 4. element on alguskuupäev ja kellaaeg
  • 5. element on lõpukuupäev ja kellaaeg
  • 6. element on õppeaine nimetus
  • 7. on selgitus
  • 8. on ruumi nimi
  • Parser trükkis välja kogu andmevoost algusekuupäeva ja kellaaja, lõpukuupäeva ja kellaaja, õppeaine, selgituse ja ruuminime.

3. Päev- Kolmapäev 30.03.11

  • Saime parseri normaalselt näitama kuupäeva ja kellaaega, alguses näitas ameerikalikult ning kõike lihtsalt numbrijadana.
 public DateTime TeisendaKuupaev(string strKuuPaev)
       {
           var dtfi = new DateTimeFormatInfo();
           dtfi.FullDateTimePattern = "yyyyMMddTHHmm";
           return DateTime.ParseExact(strKuuPaev.Substring(0, strKuuPaev.Length - 3), "yyyyMMddTHHmm", dtfi);
       }
  • Olime hädas Windows Phone 7 Simulaatoriga, kuid saime lõpuks peale pikka pusimist hakkama.

4. Päev- Neljapäev 31.03.11

  • Parser sorteerib ja formeerib kõik andmed itcollege tunniplaanist ning tunneb täpitähti.
  • Kuna iCali tunniplaani faili alguses olev esimene kuupäev on 17 märts 2010 siis, kuidas saada koodijupp kuvama päevi alates tänasest, mitte faili algusest.
  • Kuidas saada nädalapäevi eraldi lehtedena ning, et Windows Phone kuvaks ning "tunneks" nädalapäevi, ning kuvaks neid eraldi lehtedel päistena.

  // Esialgne versioon nädalapäevade tundmiseks

       string nadalapaev = "";
                var npaev = (int) dateValue.DayOfWeek;
                switch (npaev)
                {
                    case 1:
                        nadalapaev = "Esmaspäev";
                        break;
                    case 2:
                        nadalapaev = "Teisipäev";
                        break;
                    case 3:
                        nadalapaev = "Kolmapäev";
                        break;
                    case 4:
                        nadalapaev = "Neljapäev";
                        break;
                    case 5:
                        nadalapaev = "Reede";
                        break;
                    case 6:
                        nadalapaev = "Laupäev";
                        break;
                    case 7:
                        nadalapaev = "Pühapäev";
                        break;
                    default:
                        nadalapaev = "nädalapäev määramata";
                        break;
                }


5. Päev- Reede 01.04.11

  • Esialgne versioon rakendusest on valmis Windows Phone 7-me jaoks. Täpselt natukene ennem tähtaega 09.56.
  • Väga algus staadiumis on ka iPhone veebirakendus, mis kuvab ennast juba iPhonel täisekraanil ning näib kui päris iPhones asuv rakendus, kuid tunniplaani veel ei kuva.

Materjalid, mis abistasid/abistavad.

  • "Programming Microsoft ASP.NET 3.5" - Dino Esposito - 2008
  • "Microsoft XNA Framework Edition: Programming Windows Phone 7" - Charles Petzold - 2010
  • "Micosoft Visual C# 2008" - John Sharp - 2008
  • TÄNAME ka väga HEIKI TÄHIST!

Mida õppisime?

  • iCali parsimine.
  • Meeskonnatöö ei ole lihtne. Meeskonnas peab olema kindlasti liider.
  • Vastavate programmeerimis keelte API-d tuleks eelnevalt läbi lugeda, mitte töö protsessi ajal.
  • Eelnevalt võiks olla paigas kindel projekti visioon ja tegevuskava.
  • Täiesti tundmatu uue asjaga tegelema hakkamine on alguses väga tööd ja aega nõudev.
  • Intensiivõppe nädala mõttes, pole projekt enam õppimise kohaks.
  • Targemaks saime C# keeles
  • Kuidas Windows Phone 7 rakendust täpselt luua.
  • Windows Phone 7 veebilehtiseja arvates oli Õisi wildcard sertifikaat ebausaldusväärne. Selletõttu ei saanud otse iCali laadida.

Muud huvitavat.

  • Sharpkit, mis on C# konverteerimiseks Javaskripti (Visual Studiole sobituv), ei töötanud.
  • Script#, mis on samuti C# konverteerimiseks Javaskripti (Visual Studioga sobituv), ei töötanud.
  • iTunesis on olemas iTunes U, mis on iTunesi ülikool (nii öelda), sealt on võimalik tõmmata terve kursus Standfordi Universityst, mis räägib kuidas iPhonele rakendust ehitada.

Mida edasi teha peale intensiivõppe nädalat.

  • Luua päris funktsionaalne rakendus, kuhu inimesed saaksid vastavalt isikule ise oma tunniplaani sisestada.
  • Parandada rakendust, et rakendus tunneks tänast päeva ning alustaks kuvamist alates tänasest päevast.
  • Luua rakendus ka iPhonele

Mis võiks olla teisit intensiivõppe nädalal.

  • Projektid võiksid olla teada.
  • Kindel arv front-end ja back-end developereid, disainereid jne
  • Kõik saavad ise valida projekti, kus osalevad ning grupisosalejate arv on piiratud. (hetkel oli ühes grupis 6 inimest ja teises 3, mis oli ebavõrdväärnne)