finds.dev← search

// the find

netlify/gocommerce

★ 1,612 · Go · MIT · updated Jul 2025

A headless e-commerce for JAMstack sites.

GoCommerce is a Go microservice that handles orders and payments for static sites, pulling product metadata from JSON embedded in your HTML pages. It's designed to pair with a Netlify-hosted JAMstack frontend and a companion JS client library. Target audience is small store owners who want self-hosted checkout without a full e-commerce platform.

1. Product data lives in the static HTML itself — no separate product catalog API needed, which is an elegant fit for JAMstack; 2. VAT calculation is done server-side from a settings.json the static site also reads, so client and server can't drift out of sync; 3. Webhook support for order/payment/refund events with JWT-signed payloads gives you a real integration surface without coupling to a specific backend; 4. The codebase is small and straightforward Go — the api/, models/, and payments/ split is clean and testable.

1. Actively unmaintained by Netlify — the last real development was years ago, the CI badge points to Travis CI which Netlify itself abandoned, and the companion JS client (netlify-commerce-js) is archived; adopting this means owning a dead codebase; 2. Uses GORM v1 (the gorm.io/gorm v2 rewrite is a different module) and sqlite3 as a supported driver — these are dependency-rot timebombs; 3. Coupon system fetches a JSON file from an arbitrary URL over HTTP Basic auth — no signing, no cache invalidation, no versioning; a network blip at checkout is a bad user experience; 4. Multi-instance 'operator mode' references a Netlify-internal concept (OPERATOR_TOKEN) with no documentation on what that actually means outside Netlify's infrastructure, making it useless for independent deployments.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →