Az „okoszisztema” szo annyira agyonhasznalt a SaaS-vilagban, hogy mar semmit nem jelent. Mi konkretumokkal valtottuk fel: a Netorigo okoszisztema az, ahol egy admin felulet (admin.netorigo.com) alol hat backend modul mukodik, mindegyik egy egyseges tenant-modellben. Az alabbi cikkben szetszedjuk, mi van valojaban a fedel alatt, es egy konkret rendelesi adatfolyam pelda is jon a vegere.
A hat modul
A hat modul nem hat micro-szolgaltatas a klasszikus ertelemben — nem egy „minden modul kulon repo, kulon adatbazis, kulon deploy” halmaz. Hanem hat funkcionalis hatarvonal egy kozos NestJS monorepoban, kulon-kulon adatbazisemarekkel:
- Catalog — termekek, kategoriak, attribuumok, media, i18n forditasok. A
products,product_translations,categories,tagstabla-csalad. - Sales — rendelesek, kosarak, ajanlatkeresek, kuponok. A
sales_orders,cart_lines,quotestabla-csalad. - Inventory — keszlet, raktarak, beerkezesek, foglalas. Az
inventory_levels,warehouses,stock_movementstabla-csalad. - Finance — szamlazas, NAV bevallas, GL kontiroles. Az
invoices,payments,gl_entriestabla-csalad. - Logistics — szallitas, raktari pick-pack, futar-API integraciok. A
shipments,pick_lists,carrier_quotestabla-csalad. - Travelium — utazasi termekek, foglalasok, allotment-kezeles. A
travel_products,travel_bookings,allotmentstabla-csalad — a klasszikus ERP-modulok mellett egy domain-specifikus extension.
A hatodik modul mar mutatja, hogy a Netorigo nem altalanos e-commerce platform, hanem egy domain-extensible ERP. Holnap egy 7. modul lehet Education (kurzusok, vizsgak) — ugyanazon admin alol, ugyanazon tenant-modellben.
Egy tenant, sok storefront
A tenant a kozos jogi szemely (peldaul „Netorigo Kft.”), aki a 6 modul mindegyiket hasznalhatja. Egy tenant alatt tobb storefront is futhat: netorigo.com, travelium.hu, nortinia.com, mediaorigo.hu es meg 9 testver. 13 storefront, egy tenant, hat backend modul — ez a mostani realitas.
A storefrontok az adminban CMS-szeruen szerkeszhetok: navigation menu, landing oldalak, kategoriak megjelenesi sorrendje, SEO landingok. De a termek-katalogus EGY van. Egy SKU egyszer letezik a Catalog modulban — hogy melyik storefronton bukkan fel, az csak egy storefront_visibility jelolo.
Adatfolyam: egy travelium foglalas vegigfut
Konkret pelda. A vasarlo travelium.hu-n megnyit egy „Barcelona 4 ej” termeket es lefoglalja:
- Catalog: a termek-detail page lekeri a
travel_productstablat (slug-alapjan), forditasokat (product_translationsHU locale), keszlet-status placeholdert. - Inventory + Travelium: az allotmentre rakerdez (van-e szabad ferohely az aktualis datumon).
- Sales: a vasarlo a kosarba teszi, megadja a foglalas adatait (utas-nev, datumok). A
cart_linesegytravel_metadataJSONB-vel egeszul ki. - Checkout: ar-kalkulacio (Finance modul VAT-logikat), kupon-ellenorzes (Sales), kifizetes (payment provider integraciot Finance vegzi).
- Sales → Inventory: a
sales_orders.confirmedevent allotment-foglalast trigger-el a Travelium modulban (travel_bookingsinsert). - Finance: a kozos
invoice_generationqueue letrehoz egy szamlat, NAV bevallasi rendszerbe submittal. - Logistics: ha az utazasi termek mellett
gift_vouchervan (PDF), a Logistics queue elkesziti es e-mailezi. - Travelium: 24 oraval az utazas elott a Travelium modul
travel_reminderscron-ja kuld emlekezteto e-mailt.
Egyetlen ugyfel-action — egy foglalas — hat modult erintett, kozben egyetlen tenant, egyetlen admin felulet alol.
A kulcs: nincsenek silok
A klasszikus „ERP + e-commerce + booking-system” triashban harom kulonbozo szoftver, harom kulonbozo szerzodes, harom kulonbozo API integracio. A Netorigo-modellben egy szerzodes, egy admin, egy adatfolyam — es a 6. modul holnap a 7. lehet anelkul, hogy a klienst ujra a 0-rol felepiteni kellene. Ez az, amit valoban okoszisztemanak nevezunk.