Platforma za praćenje tehničkih sustava u zgradi od projektiranja do održavanja
Svi tehnički sustavi u zgradi — ventilacija, grijanje, elektroinstalacije, vatrodojava, kontrola pristupa — na jednom mjestu: uvjeti koje svaki mora zadovoljiti, ispitivanja, napredak i dokumentacija s kojom se predaje. Ne usporava ni na projektima s tisućama sustava.
Izazov
Na građevinskom projektu tehnički sustavi ne rade svaki za sebe: ventilacija, grijanje, elektroinstalacije, rasvjeta, vatrodojava, kontrola pristupa i automatika moraju raditi zajedno. Netko u svakom trenutku mora znati koji je sustav dovršen, koji je ispitan i koji je spreman za primopredaju. Na velikom projektu to je više od tisuću sustava iz svih struka, na kojima istodobno rade različiti stručnjaci — a alati za to obično postaju sve sporiji kako projekt raste.
Naš pristup
Najviše je posla bilo u razumijevanju same domene — što je sustav, što sve mora biti zadovoljeno prije nego što se može predati i što ide u dokumentaciju. Iz toga je nastao model podataka, a onda je slijedio rad na obje strane. Na backendu smo redizajnirali ključne servise i prešli na statičke tipove. Na frontendu tablice s više od tisuću sustava ostaju brze zahvaljujući server-side renderingu, optimiziranom state managementu i dohvatu podataka te infinite scrollu. Postavili smo i infrastrukturu za chat u stvarnom vremenu, povezan s kontekstom posla, a veliki se izvještaji generiraju u streamu, pa ih veličina projekta više ne ruši.
Rezultati
Klijent je dobio alat koji cijeli projekt drži na jednom mjestu: svaki sustav, uvjete koje mora zadovoljiti, ispitivanja, napredak i dokumentaciju koja ide uz njega na primopredaju i ostaje korisna u održavanju. Sučelje odgovara ispod 100 ms i na tablicama s tisuću sustava, veliki izvještaji uvijek stignu do korisnika, — temelj na kojem tim može graditi i bez nas.
Što smo napravili
- Kontinuirano smo razvijali nove mogućnosti cijelog rješenja: praćenje sustava, checkliste, izvještaje i chat
- Redizajnirali smo ključne backend servise
- Model podataka postavili smo tako da svaki sustav nosi klasifikaciju koju struke već koriste, zajedno sa svojim uvjetima i ispitivanjima
- Gradili smo brza sučelja za velike količine podataka: server-side rendering, optimiziran state management i dohvat podataka, infinite scroll
- Sudjelovali smo u prelasku cijele baze koda na jezik sa statičkim tipovima
- Postavili smo infrastrukturu za chat u stvarnom vremenu, povezan s kontekstom projekta
- Napravili smo PDF servis koji velike izvještaje generira u streamu umjesto da ih drži u memoriji