BIMS - Sistem za interni monitoring objekata
Slika koja predstavlja projekat BIMS - Sistem za interni monitoring objekata

BIMS - Sistem za interni monitoring objekata

Autor Nikola Filipovski
Fotografija autora Nikole Filipovskog

Nikola Filipovski

Full-Stack Veb Programer

O projektu

BIMS (Building Internal Monitoring System) je aplikacija za interni monitoring lokalne mreže, razvijena pomoću Node.js-a i EJS templating sistema. Za razliku od tradicionalnih sistema koji koriste MySQL ili cloud baze podataka, BIMS koristi Excel (.xlsx) fajlove kao bazu podataka. Svaki objekat je predstavljen kao poseban folder, a svaki folder sadrži dinamičke Excel tabele sa podacima o uređajima.

Ovakav pristup omogućio je kompaniji da ponovo koristi postojeću dokumentaciju i izbegne skupe migracije. Administratori mogu da otpremaju, generišu ili menjaju Excel fajlove direktno kroz korisnički interfejs, dok sistem podatke obrađuje i interpretira u realnom vremenu.

Arhitektura i dizajn

BIMS je aplikacija dostupna isključivo u lokalnoj mreži. Hostovana je na privatnom serveru i dostupna samo unutar internog LAN okruženja. Aplikacija je dizajnirana za monitoring svih uređaja sa statičkom IP adresom, kao što su:

  • IP kamere
  • Štampači
  • Wi-Fi access point uređaji
  • Računari i serveri
  • Switch uređaji i televizori
  • Sistemi za poziv medicinskog osoblja
  • Bilo koji drugi uređaj sa statičkom IP adresom

Sistem periodično proverava da li su uređaji online ili offline slanjem ping zahteva ka njihovim IP adresama, a zatim ažurira korisnički interfejs na osnovu dobijenih rezultata.

Slika koja prikazuje stranicu posvećenu određenoj zgradi na veb-sajtu BIMS-a

Administracija i kontrola pristupa

Upravljanje korisnicima u okviru BIMS sistema je u potpunosti dinamičko. Samo administratori mogu da kreiraju nove korisnike i dodeljuju prilagođene uloge. Dozvole mogu ograničiti:

  • Kojim objektima korisnik ima pristup
  • Koje kategorije uređaja može da vidi
  • Pristup logovima, izveštajima i sistemskim podešavanjima

Na primer, administrator može definisati sledeće uloge:

Uloga Objekat Nivo pristupa
Održavanje Objekat 1 Svi uređaji
Recepcija Objekat 2 Samo TV, Wi-Fi i telefoni
Tehničar Objekat 3 Kamere i štampači

Administratori takođe mogu da kreiraju druge administratore sa punim pristupom svim objektima, uređajima i dostupnim akcijama.

Slika koja prikazuje stranicu sa listom uređaja sa administratorskim komandama/kontrolama kada je korisnik prijavljen kao administrator

Logika baze podataka pomoću XLSX fajlova

Umesto SQL ili NoSQL baza podataka, BIMS tretira foldere kao objekte, a .xlsx fajlove kao tabele. Aplikacija omogućava:

  • Kreiranje novih foldera za objekte putem korisničkog interfejsa
  • Otpremljivanje postojećih Excel lista uređaja
  • Automatsko generisanje fajlova ukoliko ne postoje
  • Dodavanje novih uređaja direktno sa administratorskog panela

Ovakav model omogućio je kompaniji da nastavi sa korišćenjem tabela koje su već bile poznate zaposlenima, uz prednosti modernog sistema za monitoring u realnom vremenu.

"Baza podataka je bukvalno folder. Tabele su Excel fajlovi. Sistem je dovoljno pametan da ih obradi kao strukturirane podatke."
Slika prikazuje strukturu foldera i fajlova

Logovanje i bezbednost

BIMS sadrži ugrađen sistem logovanja za administratore, koji beleži:

  • Neuspešne pokušaje prijave
  • Greške tokom skeniranja uređaja
  • Upozorenja i statuse sistema
  • Aktivnosti korisnika prilikom izmena fajlova ili uloga

Logovi čuvaju informacije o korisničkim uređajima i IP adresama, jasno prikazujući šta se dogodilo i odakle. Ovo omogućava lakšu kontrolu, veću odgovornost i brzo otkrivanje grešaka u konfiguraciji.

Pouzdanost servera i PM2

Aplikacija se održava aktivnom pomoću PM2 alata, koji obezbeđuje:

  • Automatski restart u slučaju pada aplikacije
  • Automatski restart nakon restarta sistema
  • Pozadinsko upravljanje servisima
  • Monitoring resursa za Node.js aplikacije
Logo slika od pm2

U praksi, to znači da sistem radi neprekidno. Čak i ako dođe do restarta servera ili pada servisa, PM2 automatski vraća aplikaciju u radno stanje.

Responzivan, praktičan i napravljen za stvarnu upotrebu

Korisnički interfejs je responzivan i prilagođen radu na desktop računarima, tabletima i mobilnim uređajima. Dizajn je fokusiran na jasnoću i preglednost, a ne na nepotrebnu kompleksnost, što ga čini razumljivim i netehničkom osoblju.

Napravljeno za rešavanje stvarnog problema koristeći alate koji su već postojali. Ponekad inovacija ne znači izmišljanje nove tehnologije, već pametniju i efikasniju primenu postojećih rešenja.

Ako ste zainteresovani za razvoj sličnog sistema za interni monitoring u okviru vaše organizacije, slobodno me kontaktirajte.