
Kontekst
Klijent je razvijao javni analitički proizvod namenjen ekspertima i profesionalnoj publici. Na sajtu je trebalo redovno objavljivati aktuelne ekonomske pokazatelje, analitičke preseke, grafikone i kontrolne table koje omogućavaju praćenje promena ključnih pokazatelja kroz vreme.
Za to je bio potreban jedinstven sistem koji sam prikuplja podatke iz mnoštva spoljnih izvora, svodi ih na uporediv oblik, izračunava potrebne pokazatelje i prosleđuje gotove podatke interfejsu sajta.
Izvorni podaci bili su raspoređeni između 7 spoljnih izvora, uključujući sajtove različitih organizacija i redovno objavljivane Excel fajlove. Većina izvora nije imala API.
Za šta smo bili odgovorni
NekaSoft je bio odgovoran za backend analitičkog proizvoda: od discovery faze do višegodišnje podrške. Frontend je razvijao poseban tim, a metodologiju izračunavanja obezbedile su kolege klijenta; NekaSoft je učestvovao u njenoj proveri i u razmatranju pokazatelja, preseka i logike prikaza podataka.
Istraživanje
- Discovery i poslovna analiza
- Skup pokazatelja i analitičkih preseka
- Provera i razmatranje dobijene metodologije izračunavanja
Razvoj
- Arhitektura backend-a
- Automatizovano prikupljanje podataka sa spoljnih sajtova
- Obrada i raščlanjivanje Excel fajlova
- Normalizacija i agregacija podataka
- Logika izračunavanja
- REST API za frontend
Pokretanje
- Pomoć pri postavljanju u produkciju
Podrška
- Dalja podrška i razvoj sistema
Rešenje
Vidljivi deo proizvoda su grafikoni i kontrolne table na sajtu klijenta. Iza njih radi pipeline koji raspršene spoljne podatke pretvara u izračunate pokazatelje.
- Automatizovano prikupljanje podataka pomoću Selenium-a za izvore bez API-ja
- Poseban modul raščlanjuje Excel fajlove složene strukture: pronalazi potrebne tabele, redove i pokazatelje
- Normalizacija svih dolaznih podataka na jedinstvenu internu strukturu
- Agregacija po svih 7 izvora i izračunavanje oko 50 pokazatelja i prikaza
- Rezultati se čuvaju u PostgreSQL-u i prosleđuju frontend-u preko REST API-ja
- Pun ciklus osvežavanja izvršava se automatski 4 puta mesečno
- Novi pokazatelji i izveštaji dodaju se kako proizvod raste
Vrednost nije u čitanju pojedinačnih stranica. Ona je u punom pipeline-u: sa jedne strane raspršeni izvori bez API-ja i nestabilni formati, sa druge uporedivi, redovno osvežavani ekonomski pokazatelji spremni za javne kontrolne table.
Snimci ekrana
Rezultat
Sistem je postao osnova podataka javnog analitičkog proizvoda klijenta.
- Automatizovano prikupljanje podataka iz 7 spoljnih izvora
- Obrađuju se i veb izvori i Excel fajlovi
- Izračunava se oko 50 pokazatelja i analitičkih prikaza
- Jedinstven backend za prikupljanje, normalizaciju, agregaciju i izračunavanja
- REST API za integraciju sa frontend-om
- Podaci se automatski osvežavaju 4 puta mesečno
- Novi pokazatelji i izveštaji dodaju se kako analitički proizvod raste
Rokovi
Prva radna verzija sistema razvijena je za oko mesec i po dana.
Servis radi u produkciji već 4 godine i NekaSoft ga i dalje podržava i razvija: tim je prilagođavao prikupljanje podataka promenama spoljnih izvora, dorađivao logiku izračunavanja i dodavao nove analitičke izveštaje.
Tehnologije
Backend je u celini rad NekaSoft-a: prikupljanje, raščlanjivanje, normalizacija, izračunavanja i REST API. Frontend je pravio poseban tim, a metodologiju izračunavanja obezbedile su kolege klijenta, uz učešće NekaSoft-a u njenoj proveri.
Da li su podaci potrebni vašem proizvodu raspršeni po izvorima koji nisu predviđeni za integraciju?