Frontend LOBE servis

Ovaj dokument sadrži detalje o web frontend servisu. Opšte informacije o ovom servisu su dostupne u okviru dokumenta o osnovnim servisima.

Funkcionalnosti

  1. Cross-browser web klijent za LOBE REST servis
    1. Automatski cross-browser testovi u poslednjim verzijama Chrome, Edge, IE 11, Firefox i Safari.
  2. Implementiran u NodeJS i HTML/CSS/JavaScript tehnologijama i izvršava se unutar klijentskog browser-a.
  3. Responzivni interfejs
    1. Minimalni interfejs za upotrebu putem mobilnih i drugih uređaja sa malim ekranima.
  4. Grafički intefejs za sledeće funkcionalnosti:
    1. Pristup sistemu
      1. Unos podataka i slanje registracionog zahteva.
      2. Pregled i odobravanje registracija organizacija.
      3. Preuzimanje pristupnog naloga.
    2. Unos aproprijacija
      1. Unos inicijalnih aproprijacija, koji obuhvata odluku o budžetu, rebalans i privremeno finansiranje uz detaljan izveštaj o greškama za svaku aproprijaciju,
      2. Unos izmena aproprijacije uz detaljan izveštaj o greškama za svaku izmenu aproprijaciju
    3. Pregled aproprijacija
      1. Tabelarni prikaz prihodnih aproprijacija uz mogućnost filtriranja i sortiranja po odgovarajućim atributima aproprijacije,
      2. Tabelarni prikaz rashodnih aproprijacija uz mogućnost filtriranja i sortiranja po odgovarajućim atributima aproprijacije,
      3. Pregled pojedinačne aproprijacije sa svim detaljima koji uključuju pregled rezervisanih sredstava, izvršenih plaćanja kao i istoriju izmena,
      4. Izveštavanje
    4. Projektna struktura
      1. Tabelarni prikaz učitanih projekata uz mogućnost filtriranja i sortiranja po odgovarajućim atributima programa/projekta,
      2. Unos projektne sturkture uz detaljan izveštaj o greškama za svaki projekat,
      3. Unos i izmena pojedinačnog projekta,
      4. Pregled pojedinačnog projekta sa svim detaljima, sa mogućnošću opoziva ili izmene projekta
    5. Prinudna naplata
      1. Tabelarni prikaz prinudne naplate za korisnika uz mogućnost filtriranja i sortiranja po odgovarajućim atributima
    6. Plaćanja
      1. Tabelarni prikaz neprepoznatih plaćanja korisnika uz mogućnost filtriranja i sortiranja po odgovarajućim atributima
      2. Pregled pojedinačnog neprepoznatog plaćanja sa mogućnošću manuelnog uparivanja sa odgovorajućom aproprijacijom
    7. Administracija
      1. Filtriranje pravnih lica po identifikatoru (JBKJS).
      2. Kreiranje lokalnih korisnika i dodela aplikativnih rola i ovlašćenja.
      3. Opoziv korisnika.
      4. Upravljanje svim korisnicima: ovlašćenja, deaktivacija.
      5. Kreiranje sistemskih notifikacija.
  5. Onemogućavanje pristupa servisu sa nepodržanih internet pretraživača.
  6. Lokalizacija na više jezika na personalizovanom nivou u okviru profila korisnika.
  7. Pamćenje UI opcija na nivou individualnih stranica
    1. Trenutna stranica na paginatoru (session cookie).
    2. Trenutni broj redova koji se prikazuje po stranici (session cookie).
  8. Pamćenje i deljenje kriterijuma za filtriranje faktura (query parameters)
  9. Pristup funkcionalnostima preko URL-a
    1. Pristup stranicama i tabovima
    2. Pristup filtriranim stranicama
  10. Kontekstualna pomoć na nivou sekcije stranice.
  11. Konfiguracija za više različitih okruženja.
  12. Kompletno automatizovana infrastruktura.
  13. Kompletna automatizacija za deployment i development kroz Invoke1.Build skript.
  14. Mogućnost minimizacije aplikativnog menija za postizanje veće radne površine

Organizacija repozitorijum-a

Kompletan source code frontend-a se fizički nalazi unutar cir-web direktorijuma na git repozitorijumu. Značajne putanje uključuju:

  1. source
    Direktorijum sadrži Vue.js source code koji se izvršava korišćenjem NodeJs ekosistema. Posebno, source\src sadrži Vue.js komponente, rute, internacionalizaciju, statičke asset-e itd.
  2. cir-web.build.ps1
    Sadrži Invoke-Build skript kojom se realizuju bitne uobičajene operacije u toku razvoja kao što su pokretanje servera na lokalnoj mašini, instalacija i konfiguracija preduslova itd.
  3. packages.ps1
    Sadrži sve prerekvizite za sve tipove izvršenja (putem tag-ova).
  4. infrastructure
    Direktorijum koji sadrži skripte za setup i konfiguraciju infrastrukturalnih elemenata.

Razvoj

Da bi se pokrenuo servis na lokalnoj stanici u CIR Shell se izvršava ib Run komanda. Dok je server aktivan WEB URL će biti svetle boje.

Komanda se izvršava unutar cir-web direktorijuma u koji se pozicionira preko bookmark-a: go web Enter+Enter.

ib ? bilo gde unutar cir-web direktorijuma daje listu raspoloživih razvojnih/administratorskih akcija.

Info

Svaki projekat sadrži README.md i druge .md fajlove koji sadrži detaljne tehničke informacije.

Konfiguracija

Direktorijum source\src\configuration sadrži konfiguraciju svih okruženja. Ime fajla okruženja je <ime_okruzenja>.json pri čemu ne postoji zajednička konfiguracija za sva okruženja. Pored ovoga, sva okruženja koriste fajl za mapiranje backend end-point-a api.json.

Kompletna dokumentacija parametara nalazi se u okviru README.md fajla na istoj lokaciji gde su i konfiguracioni fajlovi 1.

Internacionalizacija

Frontend je kompletno lokalizovan na dva jezika, engleski i srpsku ćirilicu. Fajlovi za lokalizaciju se nalaze u source\src\i18n\<locale>.js.

Nova lokalizacija se kreira na sledeći način:

  1. Kopira se en.js u novi fajl za lokalitet, xy.js nakon čega se prevode sve poruke.
  2. U konfiguracionom fajlu treba podesiti vrednost parametra locale na xy.