NFQ programinės įrangos inžinieriams teko uždavinys sukurti platformą, kuri gebėtų sėkmingai augančius duomenų kiekius (2019 birželį pradėjo su 1 milijonu, o dabar (2021m.) yra apie 20 milijonų produktų) ir visa tai padaryti per 6 mėnesius iki prekyvietės paleidimo. Taip gimė Smarketer.Shopping.

NFQ inžinieriai, programuodami Kotlin kalba ant Elastic search karkaso ir AWS, sukūrė staigiam augimui tinkamą prekyvietę, kurioje galutinis vartotojas gali greitai ir efektyviai rasti trokštamas prekes bei palyginti jų kainas tarp skirtingų tiekėjų. Šiuo metu – tai vartotojų pamėgtas ir Vokietijoje žinomas e-prekybos meta paieškos variklis.

Įdomu tai, kad unikalių sistemos lankytojų skaičius per pastarąjį pusmetį išaugo 66% ir toliau sėkmingai auga, nepaisant COVID-19 situacijos rinkoje 2020-2021 metų laikotarpiu.

„Mūsų siekis – per kelerius metus Smarketer platformoje talpinamų produktų kiekį padidinti dar kelis kartus ir vieną dieną sukurti galimybę sistemoje talpinti 100 milijonų produktų," – sako Vainius Venclovas, Team Lead at NFQ.

Technologinis iššūkis

Vystant Smarketer.Shopping platformą, inžinieriai ėmėsi spręsti ypač svarbią technologinę problemą. Didelių dydžių ir rezoliucijos produktų paveiksliukai lėtina internetinės platformos užsikrovimo greitį. Turint omenyje, kad planuojami produktų kiekiai yra išties dideli, paveiksliukų apdorojimas turi būti vykdomas subtiliai ir atsargiai. Tam, kad milijonai produktų nuotraukų kasdien būtų tinkamai tvarkomos, NFQ inžinierių komanda pasinaudojo Amazon Web Services paslaugomis.

Dabar, keliamų produktų nuotraukų dydis yra sumažinamas realiu laiku pasinaudojant AWS Lambda apdorojimo paslauga. Apdorotos nuotraukos yra saugomos AWS S3 duomenų bazėje.

Ir tai tik nedidelė dalis puikiai suprojektuotoje ekosistemoje. Kalbant apie sistemos technologinį pagrindą, verta paminėti dar kelis pritaikytus sprendimus:

  • Produkto rinkmenos yra įkeliamos į bendrą sistemą iš administratoriaus aplinkos. Įkėlimo metu produkto duomenys, esantys serveryje, yra apdorojami ir perkeliami į Elasticsearch paieškos sistemą. Front-end`ui, skirtame administratoriaus prietaisų skydeliui, naudojama CoreUI, valdomas per React.js sistemą.
  • Atviro kodo principu sukurta kalba TypeScript taip pat yra naudojama sistemos Front-end`ui (internetinės parduotuvės portalui). Tam pasitelkiamos React.js ir Elastic UI sistemos bei ReactiveSearch bibliotekos komponentai.
  • Back-end`o vystymui bei sistemos srauto ir struktūros valdymui, mūsų komanda programuoja su Kotlin, ant Ktor karkaso.

„Didžiausias iššūkis, su kuriuo asmeniškai susidūriau vystant šį projektą, buvo kompleksiškumas, slypintis po apgaulingai paprastu išoriniu vaizdu. Teko permąstyti skirtingas potencialias situacijas ir išnagrinėti visas galimų scenarijų smulkmenas“, – teigia Paul-Willem Thum, Smarketer Senior Team Lead.

 

Suteiktos paslaugos