NIS2 Lejárt a NIS2-audithatáridő. Az Ön cége megfelelt már? Nézze meg 2 percben →

iLogistic: logisztikai platform, amit a nulláról építettünk

Esettanulmány 2020 óta folyamatos fejlesztés · Zenit Informatika

2020 óta fejlesztjük az iLogistic fulfillment platformját. Ami egyetlen webes alkalmazásként indult, mára egy több mint ötven mikroszolgáltatásból álló rendszer lett. Összeköti a webshopokat a raktárral és a futárszolgálatokkal, és ma több száz webshop rendeléseit dolgozza fel.

Nem egy kész dobozos terméket szabtunk testre. Mi terveztük meg az architektúrát, mi írtuk meg az integrációkat, a raktári kézi terminálok szoftverét és a háttérfolyamatokat, és ma is mi üzemeltetjük és fejlesztjük tovább.

6,5 M+feldolgozott csomag, csúcsnapokon 12 ezernél is több
70+célország, 10 szállítási móddal
96%+a rendelésekből emberi beavatkozás nélkül, integráción át érkezik
500 000+cikkszám készleten, valós időben nyilvántartva

A kihívás

Egy raktárban minden perc számít. A webshopok rendelései folyamatosan érkeznek, eltérő rendszerekből és eltérő formátumban. A raktárban a kollégáknak pontosan tudniuk kell, mit hol találnak, a futároknak időben kell megkapniuk a csomagot, a webshop tulajdonosának pedig valós időben kell látnia a készletét. Ha bármelyik láncszem akadozik, az a végvásárlónál késésként vagy hibás csomagként jelenik meg.

Architektúra, amely együtt nő az ügyféllel

Egy nagy, mindent tudó alkalmazás helyett a rendszert kicsi, jól körülhatárolt szolgáltatásokra bontottuk. Minden futárintegráció, webshop-kapcsolat, háttérfolyamat és nyilvános API külön szolgáltatás, saját kódbázissal és saját konténerrel. Így egy új integráció vagy egy javítás élesítése nem érinti a rendszer többi részét, és az iLogistic növekedésével a platform is lépést tud tartani.

Integrációk mindenhová

Natív integrációt építettünk a Shoprenterhez, a Shopify-hoz és az UNAS-hoz, a WooCommerce-hez és a Magentóhoz pedig saját bővítményt fejlesztettünk. A Shopify-integráció teljes értékű alkalmazás, webhookokkal és automatikus teljesítéssel. Minden más rendszer számára nyilvános, JWT-alapú REST API-t készítettünk rendelésekhez, termékekhez és bevételezésekhez, saját fejlesztői dokumentációs oldallal.

Szoftver a raktár padlójára

A rendszer nem csak a képernyő előtt ülőknek szól. A raktári munkatársak Zebra kézi terminálokon (PDA) futó, általunk fejlesztett megoldással dolgoznak: vonalkóddal vesznek át árut, pakolnak tárhelyre, szedik ki és csomagolják a rendeléseket. Minden lépést szkennelés igazol, így a téves csomagolás esélye minimális.

A kiszedéshez útvonal-optimalizáló algoritmust írtunk, amely a raktár közel százezer tárhelye alapján kiszámolja, milyen sorrendben érdemes összeszedni a termékeket. A több mint félmillió cikkszám készletét adatbázis-szintű eseményekre reagáló szolgáltatás tartja valós időben naprakészen, így egy rendelés beérkezésének pillanatában eldől, hogy azonnal összekészíthető-e.

Az eredmény: a rendelések több mint 90%-a a jóváhagyástól számított 24 órán belül becsomagolva várja a futárt, jellemzően fél napon belül.

Minőség, amely hat év után is tart

Egy hatéves rendszer csak akkor marad gyors és karbantartható, ha folyamatosan ápolják. Minden változtatás kódellenőrzésen megy át. A PHP- és JavaScript-kód stílusát és statikus elemzését (Pint, PHPStan, ESLint) a CI kötelezően ellenőrzi, a Go-szolgáltatásokat golangci-linttel és gosec biztonsági elemzéssel vizsgáljuk, a kritikus felhasználói folyamatokat pedig Cypress végponttesztek fedik le.

Az Ön projektje következhet

A platform képességeiről külön termékoldalt is készítettünk: iLogistic raktárkezelés és fulfillment →

Az iLogistic jól mutatja, mire képes a Zenit: sok külső rendszerrel integrált, komplex platformot tervezünk, építünk és üzemeltetünk hosszú távon, éles terhelés alatt. Ha vállalkozásának olyan fejlesztőpartner kell, aki nemcsak megírja a rendszert, hanem évekig mellette is áll, beszéljünk.

Ingyenes konzultáció

Széchenyi Terv Plusz – Magyarország Kormánya – Az Európai Unió társfinanszírozásával