POST päring aadressile /workouts peab salvestama workouti andmebaasi.
Protseduur: käivitada rakendus, saata POST päring aadressile /workouts JSON kujul sisuga, kus on erinevate harjutuste objektid ja timestamp, nt { "exercises": [{"name": "pull-up", "repetitions": 10}, {"name": "push-up", "repetitions": 20}, "timestamp": 12345346346 }.
Oodatud tulemus: server peab selle objekti andmebaasi salvestama ja sama objekti tagastama lisatud ID-ga.
GET päring aadressile /workouts peab tagastama kõik andmebaasi salvestatud workoutid.
Protseduur: käivitada rakendus, saata GET päring ilma sisuta aadressile /workouts.
Oodatud tulemus: server tagastab kõik lisatud workoutid.
DELETE päring aadressile /workouts/{id} peab kustutama vastava ID-ga workouti andmebaasist.
Protseduur: käivitada rakendus, saata DELETE päring aadressile /workouts/{id}, kus {id} on kustutatava workouti id.
Oodatud tulemus: Server kustutab andmebaasist vastava id-ga workouti ning suunab tagasi viimasele aadressile.
GET päring aadressile /workouts/{id} workouti id-ga tagastab vastava workouti.
Protseduur: käivitada rakendus, saata GET päring aadressile /workouts/{id}, kus {id} on soovitava workouti id.
Oodatav tulemus: server tagastab id-le vastava workouti JSON kujul.
POST päring aadressile /login valiidse infoga logib kasutaja rakendusse sisse..
Protseduur: käivitada rakendus, saata POST päring aadressile /login JSON kujul sisuga, kus on kasutaja kasutajanimi ja parool, nt {username: "user", password: "password", roles: "USER"}.
Oodatav tulemus: server loeb kasutaja sisselogituks ja suunab ta edasi /home leheküljele, kust edasi ta saab külastada kõiki tema rollile vastavaid lehekülgi.
Mittefunktsionaalsed nõuded:
Server peab vastama mistahes requestile vähem kui 5 sekundi jooksul.
Protseduur: käivitada rakendus, saata ükskõik milline päring aadressile /workouts.
Oodatav tulemus: Serveril ei lähe vastamiseks aega rohkem kui 5 sekundit.
Kasutaja leiab üles lehte külastades koha, kust ta sisse logida saab.
Protseduur: käivitada rakendus, minna selle index lehele.
Oodatav tulemus: kasutaja leiab üles "jätka" nupu võrdlemisi kiiresti (vähem kui 5 sekundit)
Kasutaja saab aru sisselogimise protseduurist.
Protseduur: käivitada rakendus, minna browseris /login lehele.
Oodatav tulemus: kasutaja saab aru, mida ta kuhu sisestama peab (kasutajanimi ja parool) ja leiab üles login nupu.
Kasutaja saab aru treeningu lisamise protseduurist.
Protseduur: Käivitada rakendus, minna browseris home lehele.
Oodatav tulemus: kasutaja leiab üles, mis kohas saab ta lisada treeningut oma päevikusse ja klikib sellele lingile. Sellel lehel suudab ta valida sobiva harjutuse ja selle tegemise korrad ning vajutada nuppu "Add".
Kasutaja saab rakendusest välja logida.
Protseduur: käivitada rakendus, logida browseri kaudu sisse.
Oodatav tulemus: Kasutaja leiab üles logout nupu ja vajutab sellele, mille peale rakendus viib lehe tagasi sisselogimise eelsesse seisundisse.