Arhitektūra un procesi

Tehniskā arhitektūra

Kā LEIS ir uzbūvēts — slāņi, moduļu robežas, fona darbi, dokumentu ģenerēšana un drošība.

Šī lapa ir domāta IT pusei: kā sistēma ir salikta, kas nodrošina procesa kontroli tehniskā līmenī un kādas ir uzturēšanas prasības.

Slāņi

Ielādē diagrammu…

Moduļu robeža

Sistēma ir sadalīta divās daļās ar skaidru robežu:

DaļaSaturs
PamatlietotneBūvniecības objekti, cenu aptaujas, kvalifikācija, piegādātāji, sarakste, atskaites, administrēšana
Iepirkumu modulisRegulētās iepirkuma procedūras ar savu statusu mašīnu, nolikumiem, vērtēšanu un lēmumiem

Iepirkumu modulis ir atsevišķi izstrādāta vienība ar savām migrācijām, maršrutiem, modeļiem un tulkojumiem, kas tiek pievienota pamatlietotnei. Tas nozīmē, ka regulēto procedūru funkcionalitāti var attīstīt un testēt neatkarīgi no pārējās sistēmas.

Tehnoloģijas

SlānisRisinājums
Servera puseRuby 3.3, Rails 7.2
Klienta puseReact 18, servera renderēti skati, moduļu komplektēšana
DatubāzePostgreSQL
Atskaišu skatiDatubāzes skati ar versionētām migrācijām
Kešatmiņa un rindasRedis
Fona darbiDarbu rindas ar periodisko darbu plānotāju
Stāvokļu mašīnasDeklaratīvas pārejas ar glabātu pāreju vēsturi
AutorizācijaPolitiku slānis katrai darbībai
AutentifikācijaSesijas, SAML vienotā pieteikšanās, direktoriju pakalpojums
DokumentiDOCX veidnes, PDF ģenerēšana ar pārlūka dzinēju
Tabulu datiDatu režģi ar filtriem un eksportu
IzklājlapasXLSX imports un eksports
Ārējie savienojumiREST un SOAP klienti
Kļūdu uzraudzībaCentralizēta kļūdu reģistrācija

Stāvokļu mašīnas kā procesa mehānisms

Katra procesa vienība — iepirkums, piedāvājums, lēmums, rīkojums, nolikuma grozījums, kvalifikācijas pieteikums — ir stāvokļu mašīna ar deklaratīvi definētām pārejām.

Praktiskās sekas:

  • Nederīga pāreja nav iespējama. Ja no statusa nav definēta pāreja, tā netiek izpildīta neatkarīgi no tā, kas nosūta pieprasījumu.
  • Nosacījumi pārejai. Pārejai var būt priekšnosacījums — piemēram, piedāvājumu nevar iesniegt bez apstiprināta parakstīta dokumenta.
  • Blakusdarbības. Pāreja var izraisīt darbības: dokumentu anulēšanu pēc nolikuma grozījumiem, grafika posma aizvēršanu, paziņojumu izsūtīšanu.
  • Vēsture ir datu struktūra. Katra pāreja tiek saglabāta ar izpildītāju, laiku un komentāru. Audita pēda nav atsevišķs žurnāls, ko varētu aizmirst papildināt.

Fona apstrāde

Fonā tiek izpildīti darbi, kas nedrīkst aizkavēt lietotāju:

  • vēstuļu izsūtīšana lielam adresātu skaitam, sadalot partijās;
  • PDF un DOCX dokumentu ģenerēšana;
  • datu apmaiņa ar ārējām sistēmām;
  • periodiskie uzdevumi — termiņu pārbaudes, statusu atjaunināšana, darbinieku datu sinhronizācija.

Darbu izpilde tiek uzskaitīta grupās, tāpēc ir redzams, vai apjomīgs uzdevums ir pabeigts pilnībā.

Dokumentu ģenerēšana

FormātsLietojums
DOCX no veidnesNolikumi, protokoli, kvalifikācijas protokola pielikumi
PDFPiedāvājumi, kopsavilkumi, drukājamie dokumenti
XLSXTāmju imports un eksports, atskaišu un salīdzinājumu izgūšana

Daudzvalodība

Saskarne ir pieejama vairākās valodās, un daļa satura — piemēram, nolikums — var tikt uzturēta divās valodās vienlaikus, ar atsevišķu tulkojamo lauku glabāšanu.

Drošība

Autorizācija katrai darbībai

Politiku slānis pārbauda tiesības konkrētajai darbībai ar konkrēto objektu tā pašreizējā statusā, nevis tikai izvēlnes redzamību.

HTML sanitizācija

Viss bagātinātā teksta saturs tiek attīrīts servera pusē pirms nosūtīšanas pārlūkam.

Satura drošības politika

Pārlūka satura drošības politika ar pārkāpumu ziņojumu uzkrāšanu.

Paroļu politika

Sarežģītības prasības, termiņa notecēšana un piespiedu nomaiņa ārējiem lietotājiem.

Reģistrācijas aizsardzība

Aizsardzība pret automatizētu reģistrāciju piegādātāju portālā.

Sesiju kontrole

Noildze ar brīdinājumu un iespēju pagarināt sesiju, nezaudējot ievadītos datus.

Failu tipu kontrole

Augšupielādējamo failu formāti tiek ierobežoti un pārbaudīti.

Piekļuves žurnāli

Ierobežotas pieejamības dokumentu atvēršana, resursu apmeklējumi un vēstuļu izlasīšana tiek reģistrēti.

Izvietošana

Sistēma darbojas konteinerizētā vidē ar atsevišķiem procesiem tīmekļa pieprasījumiem un fona darbiem, priekšā novietotu tīmekļa serveri un atsevišķu datubāzes un Redis instanci. Pieejama stāvokļa pārbaudes saskarne uzraudzībai. Dokumentu ģenerēšanai vidē tiek nodrošināts pārlūka dzinējs, attēlu apstrādei — attēlu bibliotēka.

Šajā lapā