Products
GoStartKit products are modular building blocks for real backend systems. Each module ships with a focused domain surface, installable binaries, and production-oriented defaults — so teams can compose a stack without adopting a single rigid framework.
All products support read-write separation, multi-instance, and multi-database deployment for horizontal scale.
Platform composition
For the full system view, read Architecture.
Capability matrix
| Product | Primary domain | Identity | Content | Files | Tenancy | Catalog | Orders | |
|---|---|---|---|---|---|---|---|---|
| Auth | Users, roles, tokens | ● | ||||||
| Article-CE | Articles, tags, comments | ● | ||||||
| File-CE | Uploads & media | ● | ||||||
| Org-CE | Orgs & membership | ● | ||||||
| Product-CE | Catalog / SKUs | ● | ||||||
| Order-CE | Order lifecycle | ● | ||||||
| Mail-CE | Transactional email | ● |
● = primary ownership. Modules compose; secondary integrations are product-specific.
Why a modular catalog?
Most products share the same foundational needs — identity, content, files, organizations, catalogs, orders, mail — but rarely need every subsystem on day one.
GoStartKit splits these into independent products so you can:
- Start narrow — ship Auth + one domain module first
- Grow deliberately — add CE modules as product scope expands
- Operate independently — scale and deploy domains without a full rewrite
Core
| Product | Domain | Best starting point for |
|---|---|---|
| Auth | Users, roles, tokens, email & phone login, permission surfaces | Any product with identity or access control |
| Web | Go web foundations and service structure | Teams standardizing API/service layout |
Auth at a glance
Auth is the most common foundation. It covers:
- User lifecycle and credentials
- Roles and module-oriented permissions
- Token-based access patterns
- Email and phone authentication paths
- Deployable service workflow: install → config → init → serve
Start here: Auth documentation.
Community Edition (CE)
| Product | What it covers | Typical product surface |
|---|---|---|
| Article-CE | Articles, categories, tags, comments | Blogs, knowledge bases, CMS-style content |
| File-CE | File and image handling | Uploads, media libraries, asset pipelines |
| Mail-CE | Transactional email | Verification, notifications, operational mail |
| Order-CE | Order lifecycle | Commerce and checkout backends |
| Org-CE | Organizations and membership | Multi-tenant / team products |
| Product-CE | Catalog, brands, SKUs, product media | Product management and merchandising systems |
Suggested compositions
| Product type | Recommended modules | First milestone |
|---|---|---|
| SaaS with teams | Auth + Org-CE (+ File-CE) | Invite users into workspaces |
| Content platform | Auth + Article-CE + File-CE + Mail-CE | Publish protected content |
| Commerce / catalog | Auth + Product-CE + Order-CE + Mail-CE | Catalog + order path live |
| Internal ops tool | Auth + Org-CE + File-CE | Role-gated internal workflows |
| Marketplace-style MVP | Auth + Org-CE + Product-CE + Order-CE | Seller/buyer basics online |
These are starting points, not constraints. Modules are designed to compose.
Operating model
Across products you can expect a familiar workflow:
- Install the module binary for your platform
- Configure database and service settings
- Initialize schemas / baseline state
- Serve and integrate via the module’s API surface
- Scale with multi-instance and read/write separation when traffic grows
Quality bar
Every product is intended to meet a practical delivery standard:
- Clear domain ownership — easy for teams to reason about
- Independent deployability — services can evolve on different cadences
- Horizontal growth paths — multi-instance / multi-DB / R/W split
- Documented setup — install and operations steps you can follow
How to choose
- Start with Auth if your product has users or access control.
- Add CE modules that match your domain (content, files, orgs, catalog, orders, mail).
- Use gskctl and Getting Started to scaffold the custom layer on top.
- Deploy with production defaults before you optimize prematurely.
Evaluation checklist
Before adopting a module in production, confirm:
- Domain ownership is clear for your team
- Database and credentials plan is documented
- Install / config / init / serve path is validated in a staging environment
- Multi-instance or R/W needs are understood for the next traffic step
- Custom domain logic is planned outside the reused foundation
Next steps
- Architecture — platform boundaries and growth model
- Getting Started — onboarding path
- Auth — identity foundation
- Golang docs — backend workflow
- Blog — engineering notes and delivery philosophy
If you are evaluating GoStartKit for a production system, begin with Auth + one CE module that maps to your core user journey. That combination is usually enough to validate architecture and velocity before expanding the catalog.