Skip to content

Project plan

Tiit edited this page Apr 18, 2017 · 16 revisions

Technology stack

Application's back-end functionality will be mostly written in Java. Front-end will be provided by JavaScript, CSS and (X)HTML.

Back-end:

  • Hibernate
  • HSQLDB
  • Spring
  • Spring Boot
  • Tomcat
  • Thymeleaf

Front-end:

  • Bootstrap
  • jQuery
  • JS WebSocket

Team description

Team consists of three members: Tiit Oja, Veiko Kääp and Simmo Saan. Team leader is Veiko Kääp. Team communicates via Slack.

There will be no specialization in our team. Every single team member is competent enough to implement all kinds of features.

Tasks will be divided equally after creating all the necessary issues to GitHub. Similar tasks are assigned to the same person.

Main productivity output will be a result from multiple hackathons in which we all get together and get something done.

Initial idea is to implement as much as possible in the first two phases.


Initial planned project timeline

All tasks for a specific release are divided in the issue tracker:

https://github.com/sim642/potatonet/issues

Phase 1

  • 1.1 Andmete salvestamine andmebaasi (1)
  • 1.2 Andmebaasi andmete esitamine (sh. JOIN lause) (1)
  • 1.3 Agregeeritud andmete esitamine (1)
  • 1.4 Javascript-ga lehel muudatuste tegemine vastusena kasutaja tegevustele (1)
  • 1.8 Meldimise (i.k. log in) järel näidatakse lehte, millele kasutaja soovis minna (1)
  • 1.9 CDN failide test: kui CDN serverile ligipääs puudub kasutatakse kohalikku faili (1)
  • 1.10 Rakenduse koodirepositooriumi üles seadmine (tähtajaline, 1. etapp) (1)
  • 2.1 Andmete surumine (st. data push) (3)
  • 2.4 AJAX kasutamine (3)
  • 2.7 XML-põhiste keelte kooskasutus (Thymeleaf) (3)
  • 2.9 Autoriseerimine (st. ainult meldinutele kättesaadav funktsionaalsus ja sisu) (3)
  • 2.10 Prototüüp (tähtajaline, 1. etapp) (3)
  • 3.1 Autentimine (ID-kaart) (6)
  • 3.5 Rakenduse ülesseadmine testkeskkonda (tähtajaline, 2. etapp) (6)
  • 3.6 Projektiplaan (tähtajaline, 1. etapp) (6)

Phase 2

  • 1.5 Leheosade hilisem laadimine (1)
  • 1.6 interaktiivne ehk rakendusesisene abiinfo (tooltip?) (1)
  • 1.7 AJAX viited (bookmarks) (1)
  • 2.3 Autentimine (Facebook, Google Account, Live Id, OpenId, LDAP/Kerberos, ...) (3)
  • 2.5 Veebilehel sisu esitamine kaardil (3)
  • 2.6 Võrguühenduseta kasutatav vähemalt osa funktsionaalsust (3)

Phase 3-7

  • 2.2 Pangalingi kasutamine (3)
  • 2.8 Mitmekeelne kasutajaliides (3)
  • 3.2 Päringute arvu ja mahu piiramine (st. veebirakenduse optimeerimine, sh. cache päiste kasutamine, Google PageSpeed?) (tähtajaline, 6. etapp) (6)
  • 3.3 Automaattestid (tähtajaline, 6. etapp) (6)
  • 3.4 Jõudlustestid (tähtajaline, 6. etapp) (6)
  • 2 Funktsionaalsus (5)
Validation = 6 * 12 = 72p
Easy techniques = 1 + 5 * (1 + 0.2 * (4 - 1)) + 4 * (1 + 0.2 * (4 - 2)) = 14.6
Medium techiques = 3 + 15 * (1 + 0.2 * (4 - 1)) + 6 * (1 + 0.2 * (4 - 2)) + 6 * (1 + 0.2 * (4 - 3)) = 42.6   
Hard techniques = 6 + 6 * (1 + 0.2 * (2 - 1)) + 6 * (1 + 0.2 * (6 - 1)) + 18 * (1 + 0.2 * (6 - 3)) = 54
Functionality = 5

Super-optimisting-never-gonna-happen-unless-planets-are-correctly-aligned-total = 188.2

Clone this wiki locally