pk-apps

module
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2026 License: Apache-2.0

README

pk-apps

Part of PlatformKit — the open-source Go backend for multi-tenant SaaS.

Depends on. pk-core, pk-modules, pk-runtime, pk-shared, and pk-testkit. It sits at the top of the graph and pulls the family together.

Go Reference CI

Minimal OSS app examples for PlatformKit.

This repo proves that the public core and public module pack can compose into a real module plan. Apps are where modules become product workflows: they choose module sets, provider options, runtime hosts, and integration policies without changing the modules underneath. This repo should not contain Pro/private modules, client overlays, staging state, or hosted deployment automation.

Run me first: apps/starter-saas

The canonical "first-run" path for PlatformKit OSS v0.1.0 is the Starter SaaS monolith at apps/starter-saas. One Go binary, one SQLite file, and all nine OSS modules — tenant_management, user_management, auth_management, api_key_management, content_management, notification_management, audit_management, health_management, and admin_management — composed end-to-end.

Quickstart
git clone https://github.com/septagon-oss/pk-apps
cd pk-apps/apps/starter-saas
go run .

The binary boots on :8080 and prints a banner with the admin URL plus default credentials. On first boot it creates one tenant (Acme Inc) and one admin user (admin@local.test / changeme).

What you get on :8080
Endpoint Purpose
/ HTML landing page
/admin Admin UI (entity CRUD + custom pages)
/healthz Aggregated health checks (JSON)
/metrics expvar runtime metrics (JSON)
/live Liveness probe (204 No Content)
/ready Readiness probe (JSON)
/api/v1/tenants Tenant CRUD
/api/v1/users User CRUD (requires ?tenant_id=...)
/api/v1/audit-events Audit log (read)
/api/v1/auth/sessions Login + session lifecycle
/api/v1/api-keys API key CRUD
/api/v1/content Content CRUD
/api/v1/notifications Notification CRUD

See apps/starter-saas/README.md for the full reference, including config, adding modules, and tests.

For a deeper walkthrough — what to read first, what to change first, and how to swap a provider — see the quickstart in pk-docs.

Other examples

  • examples/minimal — composes the core OSS module pack with no runtime; useful as a unit-test fixture for module wiring.
  • examples/runtime — composes the module pack into pk-runtime and verifies /ready through pk-testkit.

Verify

make verify   # go test + go vet + staticcheck + race

Run the examples:

go run ./examples/minimal
go run ./examples/runtime

License

Apache-2.0. See LICENSE.

Directories

Path Synopsis
apps
starter-saas command
Package main is pk-apps's thin wrapper around the importable starterapp package — the flagship "git clone and go run ." demo that composes all nine OSS PlatformKit modules (tenant, user, audit, health, auth, api_key, content, notification, admin) against a single SQLite database and serves them through one HTTP listener.
Package main is pk-apps's thin wrapper around the importable starterapp package — the flagship "git clone and go run ." demo that composes all nine OSS PlatformKit modules (tenant, user, audit, health, auth, api_key, content, notification, admin) against a single SQLite database and serves them through one HTTP listener.
examples
minimal command
runtime command
pkg
starterapp
admin_auth.go owns the browser-facing login flow that closes the v0.1.0 open-admin dashboard.
admin_auth.go owns the browser-facing login flow that closes the v0.1.0 open-admin dashboard.
starterapp/seed
Package seed installs the first-boot tenant and admin user used by the starter-saas demo.
Package seed installs the first-boot tenant and admin user used by the starter-saas demo.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL