Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoVueKit running from the labs compose: SSO sign-in through Dex, create an organization, invite a teammate, read the invitation in Mailpit

GoVueKit

A complete SaaS in one Go binary. Yours, on your server, readable in an afternoon.

Website · Documentation · Try it in 2 minutes · Blog · Buy a licence


Accounts, teams, roles, Stripe, transactional email, an admin backoffice, FR/EN — the six months of plumbing every SaaS rewrites, already written, already tested, and shipped as code you own. Go + chi + sqlc on the back, Vue 3 + TypeScript + Tailwind on the front, PostgreSQL or SQLite, one static binary at the end.

No Vercel, no Supabase, no Clerk, no per-seat platform tax. A VPS and a domain are all it takes, and nothing phones home.

This repository is the public face of a commercial product. The source code is delivered to licensees through a private repository. What is public here: the documentation, the capability map coding agents read (AGENTS.md), the architecture decisions (DECISIONS.md), the changelog, the licence text, and a standalone Docker Compose that runs the full product on your machine without buying anything. Issues and Discussions are open to everyone.

Try it before you read another line

curl -fsSLO https://govuekit.dev/labs/docker-compose.yml
docker compose up -d
# → http://labs.localhost — sign in with dev@labs.local / labs

One file, one command. It starts the product and everything it talks to: the app, PostgreSQL, single sign-on (Dex), S3 uploads (MinIO), a Stripe API double, and a mail inbox catching every email. No domain, no certificate, no configuration. Sign in through SSO, create an organization, invite a teammate, read their invitation in the inbox, upload an avatar into the bucket, open the backoffice. Wipe it all with docker compose down -v.

The same file lives in labs/ with its walkthrough.

Dashboard Billing

Light and dark, French and English: the same binary serves all four.

What is in the box

Capability Details
Accounts argon2id passwords, email verification, reset, magic links, Google / GitHub / Microsoft / any OIDC, TOTP two-factor, session listing and revocation. Enumeration-safe, rate-limited.
Organizations owner / admin / member roles enforced server-side, email invitations, row-level tenancy on every query. A non-member gets a 404, never a 403, and a test proves it cross-tenant.
Billing Stripe subscriptions and one-time products behind one provider seam. Idempotent webhooks (signature over the raw body, dedup and business write in one transaction), refunds and chargebacks handled. Off until a key is set, and the unconfigured path is tested.
Email 16 transactional templates in French and English, SMTP or Resend, a durable DB-backed queue with retries so a redeploy loses nothing.
Jobs Background jobs stored in the database, surviving restarts.
Files Local disk or any S3-compatible storage, one env var.
Admin Super-admin backoffice: MRR, ARPU, churn, plan mix, signups, moderation, impersonation, audit log. Computed from your own database, no Stripe round-trip.
Security baseline CSRF everywhere, SameSite/Secure/HttpOnly cookies, HSTS/CSP/XCTO/XFO, timing-safe comparisons, an SSRF-hardened outbound HTTP client, rate limits on every sensitive route.
SEO One build flag prerenders the public pages to static HTML with canonical, hreflang, per-language URLs and a sitemap.
Frontend Vue 3 + TypeScript + Composition API, Pinia, Vue Router, Tailwind, dark mode, i18n FR/EN with parity enforced by a test, typed fetch client.
Packaging vite buildgo:embed → one ~27 MB static binary. Docker multi-stage, docker-compose.prod.yml with Traefik and Let's Encrypt.

Numbers, measured on the code a buyer receives: ~11 000 lines of Go, 19 packages, 234 tests run in CI on both PostgreSQL and SQLite, 14 Playwright journeys driving the real production binary, one migration file, 14 direct Go dependencies. govulncheck and npm audit: zero reachable vulnerabilities.

Why teams pick it

  • You own the code. Not a framework, not a dependency: a repository you read, edit and delete from. The ten-minute tour follows one request through every layer. That is the whole architecture, and the claim is falsifiable.
  • The boring parts are the hard parts, and they are done. Tenancy, idempotent webhooks, session revocation, a durable mail queue, TOTP: the things a starter usually leaves as an exercise.
  • Built for coding agents too. AGENTS.md maps every capability to its package and extension seam, so Claude Code, Codex or Cursor extend the kit instead of rebuilding a login flow or a second Stripe client. A test fails when that map drifts from the code.
  • Tested like something you bill through. The whole suite runs on both engines in CI, and the unconfigured paths (no Stripe key, no OAuth keys, the default for most deployments) are tested too.
  • Small enough to trust. A schema that fits in one migration file and a DECISIONS.md that explains every non-obvious choice, including the features that were built and then removed to keep it a core.

Admin backoffice

Documentation

Published at docs.govuekit.dev and mirrored in docs/:

Reading

From the blog (also in French):

Stack

Go (latest stable), go-chi/chi, database/sql + sqlc (no ORM), pressly/goose migrations embedded and auto-run, alexedwards/scs sessions, alexedwards/argon2id, stripe/stripe-go, go-playground/validator, gorilla/csrf, jackc/pgx and modernc.org/sqlite (pure Go, no CGO). Vue 3, TypeScript, Vite, Pinia, Vue Router, Tailwind CSS, vue-i18n, Playwright, Vitest.

Licence and price

One-time purchase, €199 at launch (regular price €249), perpetual licence, lifetime updates of the major version, unlimited end products including client work. Full refund within 14 days as long as the licence has not been claimed. The complete text is in LICENSE.md.

Delivery is a read-only invitation to the private source repository, sent minutes after checkout. → govuekit.dev/#pricing

Questions, bugs, ideas


Made in France by kOlapsis, the people behind Maintenant, Ackify and SHM.

About

Go + Vue 3 SaaS boilerplate compiled into one binary you own: accounts, teams, RBAC, Stripe, emails, admin. PostgreSQL or SQLite. Docs, AGENTS.md and a run-it-yourself labs stack.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors