Nazad
E-commerce operater u više zemalja · 2021 – aktivno

Operativni sistem za e-commerce u više zemalja — porudžbine, magacini, paketi, kuriri i obrada podataka iz različitih formata

Operativna kičma za e-commerce operatera koji posluje u više zemalja. Tri servisa u jednom proizvodu: dashboard za tim, backend koji vodi stanja, i Python servis koji uvozi podatke u bilo kom formatu koji dobavljači i kuriri šalju.

Priča

Kada dobavljač jednog dana pošalje CSV, sutradan Excel, a kurir iz druge zemlje šalje XML — operativni sistem mora sve to da apsorbuje bez da iko prekucava.

Vredno pomena

  • · Tri servisa, jedna operativna kičma: dashboard, backend, Python procesor
  • · CSV, Excel, XML, Shopify — sve u jedan sistem, bez prekucavanja
  • · Jedan od prvih velikih produkcijskih sistema u portfoliu, i dalje radi

Problem

Klijent prodaje u više zemalja kroz različite kurirske kompanije, sa porudžbinama koje dolaze iz Shopify-a i podacima dobavljača koji stižu u bilo kom formatu koji ta zemlja koristi — CSV, Excel, XML, često sa lokalnim specifičnostima (hrvatsko formatiranje valute, slike koje fale, neusklađeni šifarnici). Sve to je moralo da sleti na jedno mesto, povezivo, revizibilno, sa magacinima i paketima praćenim od početka do kraja. Ručna verzija ovog posla nije skalirala preko nekoliko zemalja.

Šta smo napravili

Tri servisa nad jednom operativnom kičmom. React + Material UI dashboard kroz koji tim vodi porudžbine, pakete, magacine, proizvode, kurire, arhive i logove. Node.js backend sa punim operativnim modelom — porudžbine, izmene porudžbina, paketi, stavke paketa, proizvodi, magacini sa transakcijama, kuriri, fakture, audit log izmena, plus Shopify integracija na strani ulaza. I Python mikroservis koji obavlja teški deo parsiranja fajlova, sa logikom svesnom zemlje — različite putanje koda za različite formate dobavljača, tako da tim ne dobija pokvarene podatke.

Moduli i celine

  • Operativni dashboardReact + Material UI površina za dnevni tim — porudžbine, paketi, proizvodi, magacini, arhive, logovi, sa graficima na pregledu.
  • Uvoz iz različitih formataCSV, Excel (xls/xlsx/xlsm) i XML — sve obrađuje poseban Python servis sa logikom prilagođenom svakoj zemlji i svakom formatu dobavljača.
  • Shopify integracijaPorudžbine i stavke ulaze iz Shopify-a kao prvoklasan izvor podataka, paralelno sa fajlovima dobavljača.
  • Magacini i transakcijeMagacini, paketi, stavke paketa i transakcioni log nad zalihama — operativno stanje stoka u svakom trenutku.
  • Kuriri i faktureKuriri i fakture su modelovani kao prvoklasni entiteti, pa multinacionalna isporuka ne razbija podatke.
  • Audit log i arhiveSvaka izmena se zapisuje; stari zapisi se arhiviraju, ne nestaju. Tim uvek može da odgovori šta se promenilo i kada.
  • Ažuriranja uživoPromene se prikazuju u dashboard-u uživo — bez osvežavanja stranice.

Kako smo pristupili

Razdvojili smo odgovornosti po onome u čemu je svaki deo dobar. Node backend drži operativni model i API. Python servis radi parsiranje fajlova jer je Pandas pravi alat za CSV-i-Excel zavrzlame. Dashboard je samo prozor u backend, ne paralelni izvor istine. Python servis je zaključan na localhost — samo backend može da ga zove, čista granica, bez iznenadnih ulaza.

Rezultat

Tim vodi dnevno poslovanje kroz više zemalja iz jednog dashboard-a, ne iz gomile tabela i email-ova. Podaci dobavljača i kurira automatski sleću u sistem bez obzira na format. Jedan od prvih velikih produkcijskih sistema u portfoliu, i dalje radi. Kroz sistem prolazi više stotina porudžbina dnevno, bliže hiljadu nego stotinama.

U upotrebi