Project Plan - Soulyyy/TheWorldNews GitHub Wiki

Milliseid tehnoloogiaid ja kodeerimiskeeli on rühm otsustanud kasutada:

Java

Valisime backendi kirjutamise keeleks Java, kuna kõigil tiimi liikmetel on olemas Java programmeerimise kogemus ja kõigi tiimi liikmete jaoks on ta ka kõige paremini osatav programmeerimiskeel.

Heroku

Testkeskkonnaks valisime Heroku, sest ta on tasuta, võimaldab ka andmebaasi samas keskkonnas hallata ja teda on suhteliselt intuitiivne kasutada.

Appache Maven

Kasutame Mavenit, et oleks lihtne WAR faile genereerida Heroku jaoks. Ilmselt on temal ka muud võlud, millega tutvume hiljem, kui tarvis läheb.

Play

Pole veel kasutuses kindel, selgub järgmisel nädalal, kui teda reaalselt vaja võib minna. Raamistik oleks küll mugav, kuid hindamiskriteeriumid ja kogemuse puudumine tekitavad kahtluse, et raamistiku kasutamine võib ülesande raskemaks muuta.

MySQL

Andmebaasi realiseerime MySQL-is, sest see on kõige laiemini levinud SQL-i haldamise süsteem ja ilmselt on tema kasutamiseks ka kõige rohkem Google vasteid.

Loomulikult kasutame ka HTML-i, CSS-i, Javascripti, AJAX tehnoloogiaid ja kõike muud, mille kasutusvajadus ilmneb töö käigus.

Meeskonna ja rolli kirjeldus:

Meeskonnas panustame kõik semestri jooksul aega võrdselt; väiksemad ülesanded jaotame igaühele eraldi, suuremad teeme koos.

Igaüks tegeleb kõigega, ei säti rangelt rolle. Teeme enamik tööst eraldi kodus, kui vajalik kohtume teisipäeviti pärast loenguid koolis.

Proovime eeskuju võtta agiilsetest meetoditest, kuid mitte liiga tõsiselt. Kuna rühm on väike ja tööjaotus on suhteliselt lihtne, on meil võimalik paindlikult aega planeerida . Üritame etapi alguses ülesanded laiali jagada, ning kui selgub, et jagamine pole olnud proportsionaalne, saavad varem lõpetanud rühmaliikmed teisi aidata. Rühmaliikmete võimalused aega panustada on semestri jooksul suhteliselt ühtlased.

Projektijuht on HPT.

Ajagraaf:

Etapp 1

  1. Prototüüp

    Prototüübi loomiseks kasutasime Adobe Photoshop-i.

  2. Rakenduse koodirepositooriumi üles seadmine

    Kasutasime Github-i bash liidest ja Eclipse-i.

  3. Rakenduse ülesseadmine testkeskkonda

    Kasutasime Heroku Toolbelt-i, kuna meie valitud testkeskkond oli Heroku.

  4. Projektiplaan

    Kasutasime Githubi poolt pakutavaid võimalus, nagu planeerimismoodulid ja Wiki.

Planeeritud punktisumma: +4p

Etapp 2

  1. (X)HTML kehtivuse kontroll (igas etapis)
  2. CSS kehtivuse kontroll (igas etapis)
  3. Kontrollida, et kujundus, sisu ja loogika on eraldatud (igas etapis)
  4. AJAX kasutamine
  5. AJAX viited (bookmarks)
  6. Javascript-ga lehel muudatuste tegemine vastusena kasutaja tegevustele

Veebileht, mis töötab veatult lauaarvuti populaarseimatel lehitsejatel. Algne HTML ja CSS implementatsioon. Veebileht küll töötab, kuid ei tee väga midagi. Samuti, Ajaxi konfigureerimine. Veebileht funktsionaalselt palju ei tee, kuid on rahuldava kujundusega.

Planeeritud punktisumma: +3p

Etapp 3

  1. Andmete surumine
  2. Autentimine
  3. Andmete salvestamine andmebaasi
  4. Andmebaasi andmete esitamine
  5. Agregeeritud andmete esitamine
  6. Meldimise (i.k. log in) järel näidatakse lehte, millele kasutaja soovis minna

Lisatud funktsionaalsused lehel uudiste toimetajate jaoks (artiklite lisamine/muutmine/kasutaja registreerimine/sisselogimine). Pealehel olemas sektsioon, kus automaatselt näitab ning lisab uuemaid lisatud artikleid. Samuti on olemas andmebaas, millele saab esitada päringuid. Ilmselt saab see etapp osaliselt realiseeritud varem, kuid funktsionaalsuse mõttes seame tähtajaks kolmanda etapi.

Planeeritud punktisumma: +6p

Etapp 4

  1. Automaattestid
  2. Jõudlustestid
  3. Võrguühenduseta kasutatav vähemalt osa funktsionaalsust
  4. Päringute arvu ja mahu piiramine
  5. Põhifunktsionaalsus töötab ka Javascriptita
  6. Autoriseerimine (st. ainult meldinutele kättesaadav funktsionaalsus ja sisu)

Veebileht töötab ka tahvelarvutite ning mobiilide populaarseimatel lehitsejatel. Funktsionaalsus on üldiselt kontrollitav, veebilehet töötab osaliselt kliendi arvutis ilma võrguühenduseta. Testid implementeeritakse vajaduspõhiselt, kuid selleks etapiks peab oluliste funktsionaalsuste toimimine testidega kontrollitav olema.

Planeeritud punktisumma: +6p

Etapp 5

  1. Veebilehitseja edasi-tagasi nuppude tugi kontroll
  2. POST, GET, PUT, HEAD jt. käskude korrektne kasutamise kontroll

Kasutuskogemus paraneb, kasutaja saab liikuda edasi ja tagasi. Veebilehe viimistlemine.

Planeeritud punktisumma: +3p

Etapp 6 & 7

  1. Veebilehitsejate tugi kontroll
  2. Aknasuuruste tugi kontroll
  3. URI-de korrektne kasutamise kontroll

Veebilehekülg skaleerub korrektselt erinevates veebilehitsejates ja erinevatel veebilehitsust võimaldavatel vahenditel vähemalt 60% ulatuses. Projekt on korrektselt viimistletud, ning on valmis esitlemiseks.

Planeeritud punktisumma: +5p

Etappide eest kokku: 27p

Lõpus kontrollitavad +18p (alates teisest etapist +3p iga etapp)

Kokku: 45p

Praeguse seisuga on hinnatavaid punkte 45, projekti plaan uueneb uue informatsiooni ilmnemisel. Mõningate ülesannete puhul ei ole mainitud tehnoloogiaid, sest me pole piisavalt pädevad hindamaks, milliseid tehnoloogiaid me kasutada soovime.

Lisasime ka "Issued", mis väljendavad eeldatavat ülesannete jaotust rühma liikmete vahel(kardame, et Märt sai palju spämmi).