The open-source project MedusaGo has been launched, enhancing the server-side implementation of the Medusa e-commerce platform created in Go (the original Medusa platform is written in TypeScript and runs on Node.js). MedusaGo is compatible with Medusa v2 at the API level (base version 2.22.4), allowing the standard Medusa admin panel, the @medusajs/js-sdk library, and existing storefronts to function without changes. The code is distributed under the MIT license.
MedusaGo uses the same database schema for PostgreSQL as Medusa, enabling it to run on top of an existing database of a Node.js shop. A rollback is also possible. The only dependencies needed are Go 1.26+, PostgreSQL, and optionally Redis. Node.js is only required for the Next.js storefront and for enhancing the admin panel. The components of the Enterprise Edition (RBAC, SSO) are not included in the project. Compatibility has been verified using over 2,600 recorded requests across 96 scenarios, which are sent to both implementations, followed by a byte-by-byte comparison of response codes, headers, cookies, and response bodies, as well as the comparison of database contents and the behavior of modules and the Query layer.
The repository structure mirrors the Medusa monorepo: each route.ts file corresponds to a route.go file. Modules for catalog, cart, orders, payments, prices, promotions, warehouses, shipping, taxes, authorization, and others have been ported, along with the workflow engine (in-memory and on Redis). Currently, the project contains about 1,400 files and 177,000 lines of Go code. The original JavaScript packages (admin panel, design system, js-sdk) are synchronized with upstream without changes. A utility called create-medusago-app is provided for creating new projects, similar to the create-medusa-app utility. The CLI commands mirror Medusa.
Source: opennet.ru
