// the find
shurco/mycart
🛒 myCart - shopping cart in 1 file with card and cryptocurrency payment support
myCart is a self-hosted e-commerce binary written in Go that ships the admin panel (SvelteKit), the storefront, and a SQLite database all in one executable. It handles digital product delivery — files and license keys — with Stripe, PayPal, and two crypto payment providers built in. The target is someone who wants a small shop running on a single $5 VPS without touching a database server.
The single-binary deployment story is real: frontend assets are embedded via go:embed, SQLite is embedded, and the update command replaces the binary in place. No Postgres, no Node process, no reverse proxy required to get started. The litepay abstraction in pkg/litepay is a clean provider interface with proper test coverage per provider — adding a new payment gateway means implementing one interface, not untangling global state. Test discipline is solid: nearly every handler, model, and query file has a paired _test.go, and internal/testutil/testdb.go suggests tests hit a real database rather than mocks. The migration system is versioned SQL files with a separate fixtures layer for dev data, which makes schema evolution predictable.
SQLite's write concurrency ceiling will bite anyone whose store gets actual traffic — async crypto payment callbacks are especially likely to fight with checkout writes, and there's no guidance on WAL mode tuning or Litestream for backup. The project is pre-v1 and just went through a forced rename from litecart due to a trademark claim; the k8s manifest is still named litecart.yaml and the package namespace churn isn't finished, so adopters will be chasing breaking changes. It only handles digital goods — files and license keys — so physical inventory, shipping, and tax calculation aren't on the roadmap and would require building on top of the webhook system yourself. Multi-tenancy is structurally impossible: one SQLite file is one store, and nothing in the architecture supports running multiple storefronts from one deployment.