Live demo
● Laravel 13 · database per workspace · 6 payment methods · no queue worker

Sell Nexus as a subscription, one private workspace per company.

Nexus SaaS is the multi-tenant edition of the HR, CRM & Sales and Project Management system. Customers sign up on your landing page, pick a plan and get their own subdomain with their own database in under a minute. You run plans, subscriptions, payments, support and the landing page from a super-admin panel. They run their whole company from inside the workspace.

Every link opens in a new tab. Demo accounts are reset on a schedule, so anything you change is temporary.

Public site

What your customers see

The marketing pages, pricing grid and self-serve sign-up — all editable from the super-admin panel, no code.

Open public site
Super admin

Central panel

Plans, subscriptions, workspaces, support tickets, backups and updates for the whole platform.

Email
admin@example.com
Password
123456
Open super admin login
Tenant

Demo Corp workspace

A customer workspace on its own subdomain and database: HR, CRM, sales, support and projects.

Email
admin@demo.test
Password
123456
Open tenant login
1 DBper workspace — created at sign-up
6ways to get paid, incl. bank transfer
2seat limits per plan, enforced
0queue workers or Redis needed
nexus.yourdomain.com/dashboard
Nexus SaaS super-admin dashboard
Landing page on a phone
What you get

One codebase, three surfaces.

The apex domain is the platform — a marketing page, self-serve sign-up and the super-admin panel. Every subdomain is a complete Nexus with its own users, settings, uploads, language and database. Nothing is shared between customers except the code.

🗄️

A private database per workspace

Not a workspace_id column — a separate MySQL database, created at sign-up and dropped on delete. It can even live on another server.

Provisioned after the response

The database is built in a job that runs after sign-up returns. No queue worker, no Redis; the customer watches a page that polls until the login link appears.

🔒

Locks gently, unlocks itself

A grace period, a countdown banner, then a lock page that still lets the admin sign in and pay. A renewal reopens the workspace the moment it lands.

A customer's lifecycle

Sign up → provision → trial → pay → renew.

Every step is a real screen, and every state change is recorded against the workspace.

1

Sign up

Company, subdomain, plan, billing cycle and an administrator account, from the pricing grid.

2

Provision

Database created and migrated, reference data seeded, admin created — or a subdomain reserved until payment.

3

Trial

Trial days come from the plan. Seat limits apply from day one, with a message that names them.

4

Pay

Stripe, PayPal, Paystack, Flutterwave, Mollie or bank transfer; return URL and webhook both idempotent.

5

Renew or lock

Reminders at your offsets, a grace period, a lock page with a pay button, and a super admin who can extend by hand.

Landing & sign-up

1A pricing page that is the plans table.

One marketing page at the apex — hero, features, how-it-works, pricing, stats, testimonials, FAQ, call-to-action, footer — every section edited from the panel. The pricing grid reads the live plans, so a price change in the panel is a price change on the site.

Landing CMS

Edit every section without touching a template.

Hero, stats, features, how it works, pricing, testimonials, FAQs, CTA, footer, SEO fields, privacy policy and terms — each a tab with a visibility switch. The page follows the visitor's language across all eight locales, Arabic in right-to-left.

yourdomain.com
Landing page hero
yourdomain.com/#pricing
Live pricing grid
Monthly and yearly prices, limits and feature bullets straight from the plans table.
/cms/hero
Landing CMS
The CMS: one tab per section, each with a visibility switch.
Registration

Trial builds now. No trial builds after the money.

The form asks for a company name, a subdomain (3–30 characters, with a reserved list you can extend), a phone number, a plan and cycle, and the administrator's account. A plan with trial days provisions immediately and the customer watches a Preparing your workspace page until the login link appears. A plan without one reserves the subdomain, takes the customer to checkout, and builds nothing until the payment is confirmed — by the gateway, by a webhook, or by you marking a bank transfer as received.

  • Bank transfer never leaves the site — it shows your bank details and records a pending payment for you to confirm.
  • Abandoned sign-ups are released by an hourly command, so a reserved subdomain that never paid becomes available again.
  • A failed build is recorded with the error text and retried with one Re-provision button.
/register
Sign-up form
A plan with a trial: the workspace is built the moment the form is sent.
/register?plan=…
Pay-first sign-up
A plan without a trial: cycle, payment method and the amount due today.
Plans, subscriptions & payments

2Seat limits that are enforced, payments that are idempotent.

A plan is a name, two prices, an employee limit, a staff limit, trial days and a bullet list for the grid. Subscriptions move pending → trial → active → cancelled, with expired computed from the end date. Six gateways, encrypted credentials, webhooks that land even on a locked workspace.

Plans

Two limits, both read live from inside the workspace.

Employees are accounts with the employee role; staff are everybody else. Either limit can be blank for unlimited, and trial days can be zero for pay-first. The limits are checked where accounts and employees are created — "Your plan allows up to 25 employees. Upgrade your plan to add more." — not just printed on the pricing grid.

/plans
Plans
/plans/…/edit
Edit a plan
Subscriptions & transactions

Record a bank transfer, extend by a cycle, or cancel.

Filter subscriptions by status, plan and cycle; open one to change the plan, move the trial end, record a manual payment that extends the end date, or cancel. The transactions list shows every payment across every workspace — gateway, status, reference — with totals for this month and all time, counting only what was actually paid.

/subscriptions
Subscriptions
/subscriptions/…
A subscription with payment history
/transactions
Transactions
Every payment, every gateway, every workspace — paid, pending and failed.
Gateways & in-workspace billing

Six ways to get paid; one page for the customer to pay you.

Stripe, PayPal, Paystack, Flutterwave, Mollie and bank transfer, each switched on with its own credentials, stored encrypted. Built-in currency presets keep a gateway off the checkout when it cannot settle your platform currency. Inside the workspace, the administrator's Plan & Billing page shows the current plan with live usage against its limits, renews or switches plan through checkout, and lists the payment history.

/gateways
Payment gateways
company.yourdomain.com/billing
Plan and billing inside a workspace
Usage bars turn red past a limit — here, 8 staff on a 5-staff plan.
Expiry, grace & lock-out

Nothing is deleted. The door just closes politely.

The clock is the subscription end date, or the trial end while on trial. Reminder emails go out at your offsets, the banner counts down, the lock waits for the grace period — and the administrator can always sign in and pay.

7 d

Banner

Inside the threshold every page carries a warning; once expired, a red countdown to the lock.

+7 d

Grace

Configurable grace days after the end date before anything is blocked.

402

Lock page

Every route except sign-in, password reset, language and billing. Pay, and it reopens.

🔔

Webhooks

Sit outside the workspace middleware, so a renewal always lands — even on a locked workspace.

Running the platform

3Workspaces, support, health, backups, updates.

Everything an operator does from the outside: see and manage each workspace, answer its tickets, publish a help center, watch the logs, take backups and run upgrades — without ever logging into a customer's account.

Workspaces

Live counts from inside the tenant database.

Search and filter by status, provisioning state and plan; create one by hand. A workspace page shows its domain, plan, trial, live user, employee and staff counts against the limits, its subscription and last payments, unresolved logs, and its database credentials — which can point at a different MySQL server, tested from the panel. Edit, suspend, re-provision or delete; deletion drops the database.

/workspaces
Workspaces
/workspaces/…
A workspace
/workspaces/create
Create a workspace by hand
Create a workspace by hand — for a customer you onboard yourself.
Support & help center

Tickets from workspaces to you; articles from you to every workspace.

A workspace administrator raises a platform ticket without leaving their panel — technical, billing, feature request or other; low, medium or high, and only you can mark one urgent. Open → answered → resolved → closed, with unread counts on both sides. The knowledge base you write once appears in every workspace as a read-only help center with a view counter.

/support/…
A platform support ticket
company.yourdomain.com/platform-support/…
The same ticket inside the workspace
/kb
Knowledge base
company.yourdomain.com/help
Help center inside a workspace
Health, logs, backups, updates

Health cards, a log you can resolve, and an upgrade you can watch.

Central database latency, workspace databases present, storage writable, disk space and runtime, above a log of provisioning, database, payment and exception events by severity. One command backs up the central database and every workspace database into a timestamped folder, listed for download. The updater takes the platform into maintenance, migrates central, then each workspace in turn, and releases the lock — driven from the browser.

  • Super admins with sections — workspaces, plans, CMS, subscriptions, transactions, gateways, support, knowledge base, system, settings, updater, admins — so a support agent cannot delete a workspace.
  • Platform settings — name, branding, currency, languages, reserved subdomains, bank details, grace days, banner threshold, reminder offsets, workspace defaults; mail with a test send; editable email templates.
/system
Logs and system health
/update
Platform updater
/settings/general
Platform settings
/settings/email-templates
Email templates
/admins
Super admins
dark theme
Dark theme
Inside a workspace

4The whole Nexus, for every customer.

Each subdomain is the complete product: three systems sharing one directory of people, twelve permission sections and seven roles, a client portal, a public careers page, a REST API and eight languages — plus the SaaS additions: plan & billing, platform support, help center and per-workspace mail.

company.yourdomain.com/dashboard
Workspace dashboard
The dashboard is assembled from what the signed-in person may see.
HR

People, time and pay.

Employees with tabs, an org chart, onboarding checklists, documents with expiry, company assets. A month-at-a-time attendance grid, timesheets built from the clock, shifts and rosters, leave that knows the policy, and pay runs that read overtime, unpaid leave, expense claims and loan instalments. Recruitment with a public careers page and scored interviews; goals, reviews, training and warnings; self-service and a manager's approvals queue.

/hr/attendance
Attendance grid
/hr/payroll/…
Pay run
/hr/employees/…
Employee record
/hr/candidates
Candidate kanban
CRM & Sales

From a lead to a signed contract and a paid invoice.

Weighted pipelines on a kanban, contacts and companies as real account views, campaigns you can attribute revenue to, quotes and invoices with a line editor that agrees with the server, recurring invoices behind a button that is safe to press twice, contracts signed online, tickets with an SLA clock, and a client portal on a separate login.

/crm/deals
Deal pipeline
/sales/invoices/…
Invoice
/support/tickets/…
Support ticket with SLA
/portal/login
Client portal
Projects

Plan it, track it, bill it.

Tasks in four views with enforced dependencies, milestones, sprints with a burndown that stops at today, issues kept off the board, timers that round to a block, a workload grid to open before promising a date, templates with day offsets, and one button that turns approved time into a draft invoice — with the same hour never billed twice.

/projects/…/board
Task board
/projects/…/gantt
Gantt
/projects/workload
Workload
/reports/sales
Sales reports
SaaS additions, languages & theming

Per-workspace mail, eight languages, a dark theme.

Each workspace sets its own SMTP — or inherits the platform relay with a single Platform option — and tests it with a button. English, French, Spanish, German, Portuguese, Turkish, Hindi and Arabic ship complete, Arabic in full right-to-left, with a translation editor in every workspace. Light, dark and system themes, accent colour and corner radius per person; each workspace's own logo and legal details on printed documents.

/settings/notifications
Per-workspace mail and notifications
/careers
Public careers page on the workspace subdomain
dark theme
Workspace dark theme
العربية · RTL
Arabic, right-to-left
REST API, per workspace

Versioned, scoped, rate-limited per token — on each subdomain.

A mobile clock-in app, a website that files leads, a support mailbox that raises tickets. Tokens are created inside a workspace, use the same permission vocabulary as the back office, and can never do more than their owner.

/v1

One response shape

Payload under data, paging under meta, everywhere.

13

Resources

Employees, attendance, holidays, leave, leads, deals, contacts, companies, invoices, tickets, projects, tasks, time.

🔑

Scoped tokens

Deactivate a person and their integrations lose access at the same moment.

Shown once

Only a hash is stored; a 401 reads the same for missing, unknown and deactivated tokens.

Under the hood

5Built for a VPS with a wildcard subdomain.

FrameworkLaravel 13, PHP 8.3+, MySQL 8.0+ / MariaDB 10.6+. The platform's database user must be allowed to create and drop databases.
Tenancystancl/tenancy 3 — one database per workspace (nexus_tenant_{subdomain}), identified by subdomain, UUID workspace ids. Uploads isolated under public/uploads/t/{workspace}, no storage symlink.
PaymentsStripe (official SDK), PayPal, Paystack, Flutterwave, Mollie over REST, and bank transfer. Credentials encrypted at rest; a webhook endpoint per gateway; completion idempotent.
UITabler 1.4 with Tabler Icons; Alpine.js 3, Chart.js 4, SweetAlert2 — no SPA framework. Vite 8, with compiled assets shipped in the package.
ArchitectureOne codebase, two panels selected by host. Central models pinned to the central connection; provisioning as an after-response job; limits, reminders, lock-out and gateway completion in service classes.
Not requiredQueue workers, Redis, websockets, Node on the server, a storage symlink. A cron entry is optional — reminder emails and reclaiming abandoned sign-ups only. mysqldump is used by the backup command.
TestsFeature suites over the central panel, paid registration, plan limits, subscription reminders and workspace mail, on top of the product's own suite.
Live demo

Two sides of the same platform.

Sign in to the super-admin panel on the apex domain, then open any of the three demo workspaces on their own subdomains — demo, acme and globex, each a twelve-person demo company with a pipeline, invoices, tickets, projects and a year of history, all on the Enterprise plan with everything included. Every sign-in page lists its demo accounts; one click copies the credentials into the form. The password is 123456 everywhere, and the whole demo rebuilds itself every hour.

Super admin (apex)admin@example.com
Demo Corp admin (demo.)admin@demo.test
Acme Inc admin (acme.)admin@acme.test
Globex admin (globex.)admin@globex.test
HRpriya@nexus.test
Salesmarcus@nexus.test
Project managerhana@nexus.test
Accountantgrace@nexus.test
Employeeliam@nexus.test
📦

What's included

  • Full source, unencrypted and commented
  • Compiled front-end assets
  • Browser-based platform installer
  • Example plans, landing content, email templates
  • saas:demo-reset — three demo workspaces with a full demo company, rebuilt on a schedule; the installer can set them up for you
  • 8 languages + translation editor
  • Full HTML documentation
  • Free lifetime updates, 6 months support
🖥️

Server requirements

  • A VPS or host serving *.yourdomain.com
  • PHP 8.3 or newer
  • MySQL 8.0+ / MariaDB 10.6+, user may CREATE DATABASE
  • Apache or Nginx, URL rewriting
  • openssl, pdo_mysql, mbstring, gd, curl…
  • Optional cron for reminders
🤝

Ideal for

Developers and agencies running Nexus as a subscription business; hosting and IT-services providers adding an HR, CRM and projects product; franchise groups and business networks giving every member its own workspace; accountants and HR consultancies serving several clients from one platform; anyone who bought the single-tenant Nexus and now wants to sell it rather than install it.