Kronos
Multi-tenant geoprostorna platforma za upravljanje projektima dokumentacije gradilišta, s interaktivnim kartama, vizualizacijom vremenske crte i capture radnim procesima.
Usluge
Tehnologije
Izazov
Građevinski timovi suočavaju se sa značajnim preprekama u učinkovitom upravljanju dokumentacijom gradilišta:
- Nedostatak geoprostornog konteksta: Tradicionalni alati za upravljanje projektima ne integriraju geografske informacije, što otežava povezivanje fotografija, problema i miljokaza s određenim lokacijama na gradilištu
- Fragmentirano praćenje vremenske crte: Nema načina za vizualizaciju kako se projekt razvija kroz vrijeme putem zračnih snimaka, fotografija i dovršenih miljokaza
- Trenje s vanjskim dionicima: Podizvođači i terenski radnici trebaju jednostavne načine za učitavanje dokaznih fotografija bez stvaranja računa ili učenja složenog softvera
- Nepovezano upravljanje problemima: Nedostaci i problemi kvalitete se gube bez geografskog lociranja i pravilnih radnih procesa za prikupljanje dokaza
Naš Pristup
Dizajnirali smo Kronos kao sveobuhvatnu platformu koja kombinira geoprostornu inteligenciju s intuitivnim upravljanjem projektima:
- Geoprostorna arhitektura: Izgrađena na PostGIS-u i GeoDjangu s podrškom za Cloud Optimized GeoTIFF (COG), omogućujući visoko-performansno renderiranje karata kroz TiTiler
- Event-driven backend: Implementirali smo transakcijski outbox obrazac za pouzdanu, razdvojenu isporuku događaja kroz sustav
- Polimorfni model resursa: Dizajnirali Class Table Inheritance obrazac koji podržava 7+ tipova resursa (karte, mediji, značajke, miljokazi, dokumenti) s jedinstvenim query sučeljem
- Multi-tenant izolacija: Potpuna separacija podataka na razini organizacije s kontrolom pristupa temeljenoj na ulogama, prilagođenim kvotama i admin impersonacijom za podršku
- Sustav capture linkova: Sigurni, tokenizirani linkovi za učitavanje dostavljivi putem SMS/WhatsApp za prikupljanje fotografija vanjskih dionika
Ključne Značajke
- Interaktivni Radni Prostor s Kartom: Upravljanje slojevima, uređivanje granica, pinovi resursa i ozbiljnošću kodirani markeri problema s MapLibre GL JS
- Vizualizacija Vremenske Crte: Promatrajte kako se projekti razvijaju kroz vrijeme s kontrolama reprodukcije (1x-30x brzina), zumabilnim trakama i minimap navigacijom
- Capture Radni Procesi: Generirajte vremenski ograničene, geografski ograđene linkove za učitavanje za vanjske korisnike—bez potrebe za autentifikacijom
- Praćenje Problema: Geografski svjesno upravljanje nedostacima s razinama ozbiljnosti, prikupljanjem dokaza i zapisivanjem aktivnosti
- Review Radni Procesi: Skupno odobravanje/odbijanje učitanih fotografija s praćenjem odluka po stavci
- Biblioteka Resursa: Centralizirano upravljanje imovinom sa SHA-256 deduplikacijom, soft delete i bogatim zapisima revizije
- Pametne Oznake: Hijerarhijski, bojama kodirani sustav označavanja s prilagođenim ikonama i skupnim operacijama
- Višekanalne Obavijesti: In-app i email obavijesti s deep linkingom na povezane entitete
Rezultati
Isporučene mogućnosti platforme:
- 326+ React komponenti s potpunom TypeScript pokrivenošću
- 43 API ViewSeta koji pokreću sveobuhvatan REST API
- 7 polimorfnih tipova resursa ujedinjenih pod jedinstvenim query sučeljem
- 38 prilagođenih UI komponenti (bez vanjskih ovisnosti o bibliotekama komponenti)
- 23 modularne CSS datoteke refaktorirane iz monolita od 2.470 linija
Tehnička Arhitektura
Moderna full-stack arhitektura optimizirana za geoprostorna opterećenja i suradnju u stvarnom vremenu:
| Sloj | Tehnologije | |------|-------------| | Frontend | React 19, TypeScript, Vite, Tailwind CSS v4, MapLibre GL JS, Zustand, React Query, React Router 7 | | Backend | Django 5.0, Django REST Framework, GeoDjango, Celery, Redis | | Baza Podataka | PostgreSQL 16 s PostGIS 3.4 za prostorne upite | | Infrastruktura | Docker, TiTiler (COG tile posluživanje), MinIO/Cloudflare R2 (S3-kompatibilna pohrana) | | Integracije | Supabase Auth, Stripe (plaćanja), Twilio (SMS/WhatsApp), Resend (email) |
Tehnički Naglasci
Event-Driven Arhitektura: Transakcijski outbox obrazac osigurava da se nijedan događaj ne izgubi tijekom obrade. Događaji se zapisuju u bazu podataka u istoj transakciji kao poslovni podaci, zatim se asinkrono šalju putem Celery workera s logikom ponovnog pokušaja i dead-letter redom čekanja.
Geoprostorni Pipeline: Korisnički uploadovi prolaze kroz GDAL/Rasterio obradu u Cloud Optimized GeoTIFF-ove, pohranjene u S3-kompatibilnu pohranu, zatim poslužene kao XYZ pločice kroz TiTiler do MapLibre GL JS na frontendu.
Class Table Inheritance: Polimorfni model resursa omogućuje unificirane upite preko svih tipova resursa dok se održavaju tipski specifična proširenja—omogućujući značajke poput
Resource.objects.maps()zajedno sResource.objects.all().
Snimke Zaslona


