Avaldati avatud projekt MedusaGo, mis arendab Medusa e-kaubanduse platvormi serveripoolset osa Go keeles (originaalne Medusa platvorm on kirjutatud TypeScriptis ja töötab Node.js-il). MedusaGo on ühilduv Medusa v2 API tasemel (põhiversioon 2.22.4), mistõttu Medusa juhtpaneel, @medusajs/js-sdk teek ja olemasolevad vitriinid töötavad sellega muutumatult. Kood jaotatakse MIT litsentsi alusel.
MedusaGo kasutab sama PostgreSQL andmebaasiskeemi, mis Medusa, seega saab selle käivitada olemasoleva Node.js poes oleva andmebaasi peal. Tagasi minemine on samuti võimalik. Nõutavad sõltuvused on vaid Go 1.26+, PostgreSQL ja soovi korral Redis. Node.js on vajalik vaid Next.js vitriini ja admin-paneeli kohandamiseks. Enterprise Editioni komponente (RBAC, SSO) projekt ei hõlma. Ühilduvus on kontrollitud rohkem kui 2600 registreeritud päringu ja 96 stsenaariumi abil, mis saadetakse mõlemasse teostusse, seejärel võrreldakse vastuskoodi, päiseid, küpsiseid ja vastuste keha baitide kaupa, võrreldakse andmebaasi sisu ja kontrollitakse moodulite ja päringukihti.
Repo struktuur kordab Medusa monorepo: igale route.ts failile vastab route.go. Katalooge, ostukorvi, tellimusi, makseid, hindu, soodustusi, laoseise, kohaletoimetamist, makse, autentimist ja muid mooduleid on portitud, samuti on portitud tööprotsessi mootor (mälus ja Redis'il). Praegu on projektis umbes 1400 faili ja 177 tuhat rida koodi Go-s. Algupärased JavaScripti paketid (admin-paneel, disainisüsteem, js-sdk) sünkroniseeritakse upstream’iga muutumatult. Uue projekti loomiseks on soovitatud utiliit create-medusago-app, mis on sarnane utiliidile create-medusa-app. CLI käsud kordavad Medusat.
Allikas: opennet.ru
