Skip to content
SaaS4Builders
Getting Started

Running the Demo

Explore the CraftDesk demo: 12 tenants, 89 users, subscriptions, invoices, and usage events across a 2-year timeline.

SaaS4Builders ships with a comprehensive demo dataset that simulates a real SaaS application called CraftDesk — a fictional project management tool. The demo includes 12 tenants, 89 users, 3 pricing plans, 18 subscriptions, invoices, usage events, and team configurations spanning a 2-year timeline.

This demo data lets you explore every feature of the boilerplate without manual setup.

The demo data is local only — it has no connection to Stripe. Demo subscriptions, invoices, and charges exist in the database but not in any Stripe account. Features that call the Stripe API (checkout, invoice PDF download, subscription changes) will return errors unless you configure valid Stripe test keys in backend/.env. See Environment Configuration for setup.

Seeding the Database

If you ran make install, the demo data is already in your database. To reseed at any time:

make fresh    # Wipes the database, re-runs all migrations and seeders
make seed     # Runs seeders on the existing database (additive)
make fresh destroys all existing data — it runs php artisan migrate:fresh --seed. Use it only when you want a clean slate.
Demo data is only seeded when APP_ENV is local or testing. In production, only the base catalog (roles, currencies, plans, features) is seeded — no demo tenants or users.

What the Seeders Create

Base Data (All Environments)

These seeders always run, regardless of environment:

SeederWhat It Creates
RolesAndPermissionsSeeder4 roles (owner, admin, member, platform-admin) and their permissions
CurrencySeeder6 currencies (4 active: EUR, USD, GBP, CHF; 2 inactive: JPY, CAD)
ApplicationSettingsSeederDefault application-level settings
SystemFeaturesSeederSystem feature: team_members (used for seat-based billing)
CatalogSeederProduct, plans, features, prices, and entitlements

Demo Data (Local/Testing Only)

The DemoSeeder creates a realistic dataset simulating 2 years of SaaS operation (April 2024 — March 2026):

SeederWhat It Creates
DemoUserSeeder89 users (1 platform admin + 88 tenant members)
DemoTenantSeeder12 tenants with full profiles, billing info, and team structures
DemoCustomRoleSeederCustom tenant-specific roles (project_manager, billing_manager, etc.)
DemoSubscriptionSeeder18 subscriptions (11 active, 7 canceled/upgraded)
DemoInvitationSeeder6 pending invitations + 11 historical (accepted, expired, revoked)
DemoPaymentMethodSeederPayment methods for each paying tenant
DemoUsageSeederUsage events (API calls) with realistic daily patterns
DemoUsageSnapshotSeederMonthly usage snapshots for billing reconciliation
DemoInvoiceSeeder~168 monthly invoices with tax calculations
DemoStripeChargeSeederStripe charges including edge cases (refunds, disputes, failures)
DemoNotificationSeederNotifications for tenant owners and platform admin

Product and Plans

The demo product is CraftDesk, a project management SaaS with three plans:

Plans

PlanPricing ModelEUR/moUSD/moGBP/moCHF/moTrial
StarterFlat (free)€0$0£0CHF 0
ProfessionalPer seat€19$19£15CHF 1914 days
BusinessPer seat€39$39£32CHF 3914 days

All plans are available in both monthly and yearly billing intervals. Yearly pricing is 10× the monthly rate (roughly 2 months free).

Plan Entitlements

FeatureStarterProfessionalBusiness
Team Members11550
Projects525Unlimited
API Calls / month1,00050,000500,000
Custom Domains110
Advanced AnalyticsYesYes
Priority SupportYes

Demo Tenants

The 12 demo tenants represent a realistic mix of customer profiles:

TenantCurrencyCountryTeam SizeCurrent Plan
Acme CorpEURFrance14Business
Nebula StudioEURFrance8Professional
Pixel ForgeUSDUnited States6Professional
CloudNine LabsUSDUnited States18Business
Solaris DigitalGBPUnited Kingdom5Professional
Matterhorn AGCHFSwitzerland10Business
FreecraftEURFrance1Starter (free)
Tinker StudioEURFrance2Canceled
Launchpad IncEURFrance4Professional
Vortex MediaUSDUnited States7Professional
Nordstrom DevEURSweden1Starter (free)
Atlas CollectiveEURGermany12Business

The tenants cover all four active currencies, multiple countries with different tax rates, and a range of subscription states including upgrades, cancellations, and free tiers.

Subscription Histories

Several tenants have realistic subscription histories:

  • Acme Corp — Started on Starter, upgraded to Professional, then upgraded to Business. Three subscription records showing growth.
  • Atlas Collective — Similar growth path: Starter → Professional → Business.
  • Tinker Studio — Was on Professional, canceled due to budget cuts. Demonstrates the churn scenario.
  • Freecraft and Nordstrom Dev — Free tier users on the Starter plan.

Demo Login Credentials

All demo users share the same password: password

Platform Admin

FieldValue
Emailadmin@craftdesk.demo
Passwordpassword
AccessFull platform admin dashboard — all tenants, users, metrics, catalog management

Tenant Owners

TenantEmailPlan
Acme Corpjane@acme-corp.demoBusiness
Nebula Studiosarah@nebula.demoProfessional
Pixel Forgechris@pixelforge.demoProfessional
CloudNine Labsalex@cloudnine.demoBusiness
Solaris Digitalwill@solaris.demoProfessional
Matterhorn AGlukas@matterhorn.demoBusiness
Freecraftmax@freecraft.demoStarter
Tinker Studioian@tinker.demoCanceled
Launchpad Incsam@launchpad.demoProfessional
Vortex Mediaanna@vortex.demoProfessional
Nordstrom Deverik@nordstrom.demoStarter
Atlas Collectivelena@atlas.demoBusiness

Users with Custom Roles

UserTenantCustom Role
bob@acme-corp.demoAcme Corpbilling_manager
alice@acme-corp.demoAcme Corpproject_manager
marcus@nebula.demoNebula Studiosupport_lead
tara@launchpad.demoLaunchpad Incfinance_admin

Demo Walkthrough

1. Log In as a Tenant Owner

Open http://localhost:3000 and log in with:

  • Email: jane@acme-corp.demo
  • Password: password

This logs you into Acme Corp — a Business plan tenant with 14 team members, the most complete demo profile.

2. Explore the Tenant Dashboard

Once logged in, you can explore:

  • Billing — Active Business subscription, invoices with tax details, payment method on file.
  • Team — 14 members with different roles (owner, admin, member, and custom roles like billing_manager and project_manager).
  • Usage — API call usage stats over time.
  • Settings — Tenant and user-level settings with cascaded resolution.
  • Invitations — 2 pending invitations waiting to be accepted.

3. Try the Platform Admin Dashboard

Log out and log in as the platform admin:

  • Email: admin@craftdesk.demo
  • Password: password

The admin dashboard gives you a global view:

  • All tenants — 12 demo tenants with their subscription status, team size, and billing info.
  • Catalog management — Edit the CraftDesk product, plans, features, and pricing.
  • Metrics — Platform-level analytics (MRR, active subscriptions, churn).
  • User management — All 89 users across the platform.

4. Register a New User

To test the full onboarding flow:

  1. Log out of any existing session.
  2. Click "Register" and create a new account.
  3. The onboarding flow guides you through: create tenant → pick a plan → Stripe Checkout → dashboard.
The Stripe Checkout step requires valid Stripe test keys in backend/.env. Without STRIPE_KEY and STRIPE_SECRET configured, the billing flow will not work. See Environment Configuration for setup instructions.

For Stripe test payments, use the test card number 4242 4242 4242 4242 with any future expiration date and any CVC.

5. Explore Different Tenant Profiles

Log in as different tenant owners to see how the application adapts:

  • max@freecraft.demo — Free Starter plan. Limited features, no billing section.
  • ian@tinker.demo — Canceled subscription. See the canceled state UI.
  • alex@cloudnine.demo — Large Business tenant with 18 members and high API usage.
  • lukas@matterhorn.demo — Swiss tenant billed in CHF. Different currency formatting.

6. Test Custom Roles

Log in as bob@acme-corp.demo (password: password). Bob has the billing_manager custom role — he can view and manage billing but cannot manage team members. Compare his access with Jane's (owner) to see role-based access control in action.


Emails in Development

All emails sent by the application (invitations, notifications, password resets) are captured by Mailpit. No real emails are sent.

View captured emails at http://localhost:8025.


Resetting Demo Data

To return to the initial demo state at any time:

make fresh

This drops all tables, re-runs migrations, and re-seeds everything — including the full demo dataset.


What's Next