Self-hostable ecommerce platform with a Go backend (Gin + GORM + PostgreSQL), a SvelteKit frontend, and a CLI for admin workflows.
Project documentation is maintained in the wiki:
API reference is generated in:
Frontend-specific docs are in:
- Authentication and authorization (local auth + OIDC)
- Product catalog and admin product management
- Cart and order workflows
- Storefront configuration and draft/preview publishing
- Media upload/processing pipeline
- Runtime-extensible checkout providers (payment, shipping, tax)
- CLI for user and product administration
- Configure environment:
cp .env.example .env
# Edit .env and fill in variables- Start PostgreSQL for development:
sudo scripts/run-dev-db-docker.sh
# or
scripts/run-dev-db-podman.sh- Run the API:
make run- (Optional) seed sample data:
scripts/populate-test-database.sh- Run frontend:
cd frontend
bun install
bun run devNote: the storefront placeholders that the AI generated are cringe but funny, so I left them in. The example products are certified artisan humanslop.
Build binaries:
make all
# or
make api
make cliRun backend tests:
make testRun frontend checks:
cd frontend
bun run check
bun run lintDatabase migrations:
make migrate
make migrate-checkNote: pending migrations are also applied automatically when starting the API or using CLI commands that open the database.
Licensed under the MIT License. See LICENSE.