upMVC-SaaS is a multi-tenant SaaS boilerplate built on top of the upMVC PHP framework.
This documentation covers only what is specific to the SaaS layer — multi-tenancy, JWT authentication, plans, feature gating, and the API architecture.
For the base framework (routing, modules, MVC, configuration, middleware) refer to the upMVC documentation:
upMVC Docs → https://github.com/upMVC/upMVC/tree/main/docs
| Doc | What it covers |
|---|---|
| 01 — What is upMVC-SaaS | The concept, why this layer exists, what problem it solves |
| 02 — Architecture | Api/* structure, middleware pipeline, the two auth systems |
| 03 — Getting Started | Fork, configure, run migrations, create first tenant |
| 04 — API Modules | How Api/* modules work and how to add your own domain |
| 05 — Auth & JWT | JWT login, refresh token rotation, logout, token theft detection |
| 06 — Tenants & Plans | Multi-tenancy, plan gating, feature flags, tenant lifecycle |
| 07 — Platform Admin | The admin shell, Api/Admin endpoints, impersonation |
| 08 — Your Way | This is a starting point, not a rulebook |
src/Modules/
├── Api/ ← the backbone — your business logic lives here
│ ├── Auth/ JWT login / refresh / logout
│ ├── Plans/ public plan listing
│ ├── Tenants/ tenant registration + CRUD
│ └── Admin/ platform admin API
├── Auth/ session-based web login (for the PHP shell pages)
├── PlatformAdmin/ thin web shell → calls Api/Admin via JS
├── TenantApp/ tenant web application shell
├── TenantShop/ tenant storefront shell
├── Home/ public landing page
└── Mail/ email service (PHPMailer via Composer)