1. Specifikacije projekta - zagec/Projektna-naloga GitHub Wiki
1. Uvod
1.1 Namen
Namen dokumentacije je opisati projektne specifikacije po naslednji obliki:
- Opredelitev namena študentskega projekta, vključno s skupinami uporabnikov in njihovimi potrebami
- Opis rešitve, vključno z opredelitvijo načina, po katerem projekt naslavlja zgoraj izpostavljene potrebe
- Funkcionalne zahteve projekta, vključno s ključnimi funkcionalnostmi in sistemskimi zahtevami.
1.2 Uporaba dokumenta in njegov dostop
Dokument je namenjen predvsem članom ekipe Beasty, ki delamo na tem projektu. Z njim smo si zastavili jasne cilje in ter smer v katero si želimo razviti ta projekt.
1.3 Obseg projekta
Z našim projektom želimo zadostiti naslednjim ciljem:
- Ustvariti storitev/API, za pridobivanje restavracij
- Spletno aplikacijo, ki bo prikazovala željene restavracije na zemljevidu, njihove menije in možnost, da obiskovalci pustijo menjenje o restavraciji
- "Web scraper" oz. internetni praskalnik, ki bo pridobival podatke o restavracijah ter njihove menije
- Domensko specifični jezik, ki ga bomo uporabljali za izrisovanje mesta Maribor
- Gostovanje spletne strani preko spletne storitve Heroku
1.4 Tveganje pri projektu
Največje tveganje pri našem projektu je, da nam zmanjka enot za gostovanje in posledično ne moremo več gostovati naše spletne aplikacije. Obstaja pa tudi možnost, da se spletne strani iz katerih pridobivamo podatke o restavracijah in njihovih menijih spremenijo in naš "web scraper", ki je napisan za ta specifičen format strani, ne bi več deloval pravilno.
2. Splošni opis
2.1 Namen projekta
Namen projekta Restavrantko je zadostiti potrebo po zgoščenem izboru vseh restavracij skupaj z meniji ter cenami ponujene hrane, za katero je mogoče plačati z študentskimi boni. Cilj je nuditi študentom, obiskovalcem ter prebivalcem mesta Marbior učinkovit in zgoščen dostop do restavracij ter njihovih lokacij v mestu Maribor. Omogočiti uporabnikom aplikacije prikaz poti do restavracij, bankomatoc in možnost plačevanja z kriptovalutami v prihodnosti. V prihodnosti bo aplikacija nudila tudi štetje korakov, znižanja pri plačevanju in beleženje zaužitih kalorij, s katerimi si bo lahko potem uporabnik planiral katero restavracijo bo obiskal naslednjič.
2.2 Uporabniki in njihove potrebe
Glavna želja uporabnikov naše aplikacije je čim bolj učinkovito izbrati restavracijo, ki zadošča uporabnikovim potreba. Želje uporabnikov pri izbiri restavracij se razlikujejo. Želimo restavracije sortirati glede na ceno ali pa preveriti če ima restavracija možnost vegansik jedi, prav tako želimo izvedeti kej se restavracija nahaja, pot do nje in če je na naši poti kakšen bankomat. Na koncu bi radi restavracijo še ocenili. Zaradi tega potrebujemo enostaven in učinkovit uporabniški vmesnik, ki bo uporabniki omogočal vse to.
2.3 Opis rešitev
- Ustvarili bomo API/spletno storitev, katera bo nudila podatke o restavracijah pridobljene in podatkovne baze. V podatkovni bayi bomo hranili podatke o restavracijah in uporabnikih.
- Ustvarili bomo spletni vmesnik, ki bo neprijavljenmu obiskovalcu omogočal samo pregled restavracij in iskanje med njimi ter prikaz menijov in njihovih lokacij medtem, ko bo prijavljen obiskovalec lahko štel korake, porabljene kalorije glede na korake, plačeval v restavracijah s kriptovalutami in ocenil posamezno restavracijo.
- Prav tako potrebujemo administrativni vmesnik, ki bo omogočal obdelavo uporabnikov. Omogočati mora brisanje, urejanje in ustvarjanje novih uporabnikov.
- Podatkovno bazo v kateri bomo hranili podatke o restavracijah in uporabnikih ter njiohovih lokacijah in ostalih pomembnik točkah na zemljevidu.
- Spletni praskalnik, ki bo pridobival informacije o restavracijah in jih shranjeval v podatkovno bazo.
- Domensko specifični jezik s katerim bomo lahko izrisali mesto Maribor.
3. Sistemske zahteve in funkcionalnosti
3.1 Značilnosti sistema
Glavne značilnosti sistema so:
- Zemljevid za prikaz restavracij
- Spletna storitev oz. API
- Spletni praskalnik
Funkcionalne zahteve
Naš projekt vključuje:
- JWT žetone za avtentikacijo
- Administrativni vmesink, kjer lahko administratorji operirajo z uporabniki
- Izris lokacij restavracij in bankomatov na zemljevidu v obliki točk
- Graf za prikaz količine obiskov specifične restavracije