Meeskond: Spooky Scary Skeletons: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ssaks (talk | contribs)
Ssaks (talk | contribs)
Line 76: Line 76:


Muutujanimed ei tohi sisaldada tüübiviidet.
Muutujanimed ei tohi sisaldada tüübiviidet.
"Maagilised" muutujad peavad olema deklareeritud konstantidena, ning omama kommentaari. Kõiki antud muutujaid peab olema võimalik programmi konfiguratsioonifailist muuta.


=== Litsents ===
=== Litsents ===

Revision as of 23:00, 1 November 2015

Meeskond ja rollid

  • Kärt Palm
  • Karina Egipt - Projektijuht
  • Erika Ehmann
  • Silver Saks - Wiki pidaja

Idee

TODO list kooli õppeainete tarvis. Võimaldab märkida kalendrisse tähtaegu, mis on seotud õppeainega ja lisada nende kohta vajalikku infot(eeldatav ajakulu, ülesande maht, õppematerjalid, jne). Offline funktsionaalsus kohaliku andmebaasiga, mis replikeeritakse serverisse(kasutaja soovil). Online funktsionaalsus mis võimaldab "subscribeda" kas teatud õppeainesse, või gruppi. Sellisel juhul ilmuvad kalendrisse ka teiste antud grupis olevate kasutajate lisatud ülesanded, ning info nende kohta.

Analüüs

Andmebaas

Infovahetus

Kasutajaliides

Kasutajakontode haldus

Võimalikud probleemid

Spam

Probleemi kirjeldus

Süsteemi võivad oma huvides ära kasutada spämmerid, täites grupi rämpsinfoga.

Lahendus

Kasutajakonto loomisel kasutada CAPTCHA-t.

Bayesian spam filter, mis kasutab õppimiseks kasutajate poolt aktsepteeritud/tagasi lükatud muudatusi.

API rate limiting.

Privaatsus

Probleemi kirjeldus

Tingimata tuleb kaitsta kasutaja poolt rakenduses privaatseks märgitud infot, ning kasutajakonto ligipääsuinfot. Kasutaja soovil peab olema võimalik rakendusest kõik temaga seotud info eemaldada.

Lahendus

Krüpteeritud andmevahetus teenusserveriga(TLS). Replikeerimisel privaatne info eelnevalt krüpteerida(parooli alusel genereerida sümmeetriline krüptovõti ja valida turvaline krüptoalgoritm). Kasutaja info eemaldamisel: mida teha teiste kasutajatega kes on antud info juba enda plaani lisanud?

Replikatsioonikonfliktid

Probleemi kirjeldus

Offline andmebaasi replikeerides serverisse võib juhul, kui kasutaja kasutab mitut klienti, tekkida ebakõla andmete vahel.

Lahendus

Konfliktide tuvastamine, ning kasutaja poolt nende manuaalne lahendamine. Andmebaasi disainides silmas pidada, et ei oleks võimalik duplikaatvõtmete tekkimine.

Projekti kirjeldus

Tehnoloogiad

Arendusmustrid

Versioonikontroll

Koodi stiilireeglid

Otsustasime, et kogu programmi kood, muutujanimed ja koodi kommentaarid on ingliskeelsed. Muutujanimedel kasutame järgmiseid reegleid:

  • Klassi privaatmuutujad algavad _ prefiksiga;
  • Klassi avalikud meetodid ja muutujad algavad suurtähega;
  • Kõik muud muutujad algavad väiketähega;

Kõik muutujanimed peavad sisaldama ainult US-ASCII tähti või numbreid ( ^[a-zA-Z0-9]+$ ). Liigendamiseks on suurtähed.

Muutujad peavad võimalikult täpselt kirjeldama oma sisu abstraktsel tasemel. Erandiks on meetodi- ja funktsioonisisesed muutujad millede sisu on kontekstist lihtsalt tuletatav. Näiteks "i" tsükliloendurina jne.

Muutujanimed ei tohi sisaldada tüübiviidet.

"Maagilised" muutujad peavad olema deklareeritud konstantidena, ning omama kommentaari. Kõiki antud muutujaid peab olema võimalik programmi konfiguratsioonifailist muuta.

Litsents

Kogu rakendus avaldatakse GNU General Public License v3.0 all. (GPL)

Avaldatud failid

Arendusprotsess

  • 8.10.2015 - Loodud wiki leht ja lepitud kokku esimene kohtumine idee leidmiseks ja algseks analüüsiks.
  • 19.10.2015 - Esimene kohtumine. Leitud idee rakenduse loomiseks, määratud rollid esimeseks analüüsietapiks.
  • 1.11.2015 - Teine kohtumine. Valmis analüüs.

Lisad

[1]