Skip to content
Documentation

The whole platform, documented

One page that explains every screen, how much is built, how the system runs, and where it goes next — the living source of truth for Aether Frameworks.

In a nutshell

What this is, in one breath

If you read nothing else, read this.

Aether Frameworks is a feature-complete, multi-tenant SaaS platform: a marketing site attracts clients, a Stripe-billed onboarding funnel converts them, each client gets a private dashboard, and a master admin panel gives the operator full control over revenue, payouts, templates and analytics — all running on a live MySQL database.

Framework

Next.js 14 · App Router

Language

TypeScript (end-to-end)

Styling

Tailwind CSS + design tokens

Data

Prisma ORM · MySQL (Hostinger)

Payments

Stripe · Checkout, Elements, Connect

Security

scrypt hashing · signed webhooks

By the numbers

The build at a glance

A lean, type-safe codebase serving the full commercial lifecycle.

29

Application pages

Public, client & admin routes

22

API endpoints

REST handlers powering the app

10

Database models

Prisma · live MySQL

7

Production deps

Lean, no bloat

100%

Type & lint

tsc + ESLint clean

Live

Marketplace

5 categories, DB-backed

How much is done

Completion by area

Core product is feature-complete and running against a live database. A couple of go-live tasks remain.

Marketing website

Complete
100%

Six responsive pages, design system, SEO metadata.

Client onboarding

Complete
100%

Multi-step wizard with auto-save and resume.

Client dashboard

Complete
100%

Project, billing, domain, balance & withdrawals.

Admin panel

Complete
100%

Revenue, clients, transactions, payouts, analytics.

Database

Live
100%

Production Hostinger MySQL via Prisma.

Payments (Stripe)

Test mode
90%

Checkout, Elements, Portal & webhooks — pending live keys.

Domain automation

In progress
40%

Statuses tracked; DNS/SSL provider integration is next.

Automated test suite

In progress
25%

Flows verified manually; CI coverage to be formalized.

Every page

Page-by-page reference

Every route the platform serves, grouped by who it's for and what it does.

Marketing & public

Anyone

The public storefront that attracts and converts clients. Server-rendered, SEO-ready, fully responsive.

Home

/
Live

Hero, features, live marketplace products, social proof and CTA.

Marketplace

/templates
Live

Browse products by category and price band; everything is DB-backed.

Product detail

/templates/[slug]
Live

Cover, screenshots, features, tech stack, version, docs status, live demo and Buy button.

Pricing

/pricing
Live

Plan, feature comparison and FAQ.

Process

/process
Live

The Discover → Design → Build → Launch method.

Roadmap

/roadmap
Live

Shipped, in-progress and planned product work.

Contact

/contact
Live

Contact form that persists messages to the database.

Template preview

/preview/[slug]
Live

Full-bleed live render of a template (e.g. Bakery).

Documentation

/docs
Live

This page — the living source of truth for the build.

Client experience

Signed-in clients

The authenticated journey a customer takes from sign-up through to running their own website.

Sign in

/login
Live

Email/password login; suspended accounts are blocked.

Onboarding wizard

/onboarding
Live

Account → Business → Branding → Payment, auto-saved and resumable.

Client dashboard

/dashboard
Live

Website status, domain/SSL, billing, project progress, balance & withdrawals.

Master admin panel

Operator / admin

The operations console with full control over revenue, clients, payouts and content. Renders full-bleed outside the marketing chrome.

Dashboard

/admin
Live

Total & platform revenue, MRR, pending payouts, active clients.

Admin login

/admin/login
Live

Password-gated entry to the admin console.

Clients

/admin/clients
Live

Revenue and balance per client; suspend, activate, promote.

Client detail

/admin/clients/[id]
Live

Full drill-down into a single tenant.

Transactions

/admin/transactions
Live

Every payment with platform fee and client earnings.

Withdrawals

/admin/withdrawals
Live

Approve or reject client payout requests.

Templates

/admin/templates
Live

Every marketplace product — price, version, docs status, visibility.

New template

/admin/templates/new
Live

Create a listing: cover, screenshots, features, tech stack, price.

Edit template

/admin/templates/[slug]/edit
Live

Full editor for an existing listing; saves straight to MySQL.

Categories

/admin/categories
Live

The 5 marketplace sections and the price band each advertises.

Orders

/admin/orders
Live

Every template purchase with buyer, amount and Stripe status.

Domains

/admin/domains
Beta

Connected domains, DNS and SSL status.

Analytics

/admin/analytics
Live

MRR, revenue and a 6-month trend chart.

Onboarding submissions

/admin/onboarding
Live

Review incoming onboarding records.

Progress board

/admin/progress
Live

Move client milestones through Planned → In Progress → Completed.

Messages

/admin/messages
Live

Contact form submissions inbox.

Settings

/admin/settings
Live

Configuration and webhook verification status.

How it runs

Architecture & request flow

A layered system: thin routes, isolated business logic, typed data access. Requests flow top to bottom and errors are handled centrally.

Pages & components

Server-rendered React (App Router) built from a shared, typed design system.

src/app/**/page.tsxsrc/components/ui/*Tailwind design tokens

Route handlers

Thin API endpoints that validate input at the boundary and forward to services.

src/app/api/**/route.tsConsistent JSON error contracts

Services & logic

Business rules — onboarding, finance, withdrawals, auth — isolated and testable.

src/server/**/service.tssrc/lib/finance.tssrc/lib/progress.ts

Data & integrations

Prisma against live MySQL, plus Stripe for billing. Secrets read only from config.

src/server/prisma.tssrc/server/stripe/*src/config/env.ts

Life of a request

  1. 1A visitor hits a route; Next.js renders the server component with typed data.
  2. 2Interactive actions call src/lib/api.ts, never fetch() directly from components.
  3. 3The matching route handler validates the request and delegates to a service.
  4. 4Services apply business rules and read/write through Prisma to MySQL.
  5. 5Stripe events arrive at the verified webhook and reconcile payments.
  6. 6Errors funnel through central handling and return a generic client-safe shape.

Security posture

  • Passwords hashed with scrypt — never stored in plaintext.
  • Only the last 4 card digits are ever retained.
  • Stripe webhook signatures are verified on every event.
  • Admin routes are guarded; secrets stay server-side and out of version control.
  • All external input is validated and sanitized at the boundary.
  • Clients receive generic errors; stack traces stay on the server.
Data models

Eight models, one live database

Prisma models persisted to production MySQL, with proper relations and indexes.

{ }

Tenant

The account that owns users, onboarding and payments (multi-tenant unit).

{ }

User

A person who can sign in; scrypt-hashed password, role and status.

{ }

Template

A marketplace product — price, cover, screenshots, features, stack, version, docs.

{ }

Category

A marketplace section (Landing Pages, SaaS Starter Kits…) with its price band.

{ }

Purchase

A one-time template order settled through Stripe Checkout.

{ }

Onboarding

Resumable wizard state plus business and branding data.

{ }

Payment

Stripe-backed payment records with plan and amount snapshot.

{ }

Withdrawal

Client payout requests that admins approve or reject.

{ }

ProjectTask

Client-facing milestones tracked on the progress board.

{ }

ContactMessage

Contact-form submissions from prospects and clients.

API surface

Nineteen REST endpoints

Thin route handlers that validate input and delegate to services, returning consistent JSON.

Auth & contact

  • POST/api/auth/login

    Sign a client in.

  • POST/api/auth/logout

    End the session.

  • POST/api/contact

    Persist a contact message.

Onboarding

  • POST/api/onboarding

    Start an onboarding record.

  • PATCH/api/onboarding/[id]

    Save wizard progress.

  • POST/api/onboarding/[id]/payment

    Attach payment to onboarding.

  • POST/api/withdrawals

    Request a client payout.

Marketplace

  • POST/api/checkout/template

    Buy a template (one-time Stripe Checkout).

  • POST/api/admin/templates

    Create a marketplace listing.

  • PATCH/api/admin/categories/[slug]

    Rename or re-band a category.

Stripe

  • POST/api/stripe/checkout

    Create a Checkout session.

  • POST/api/stripe/subscription

    Create/manage a subscription.

  • POST/api/stripe/connect

    Connect account scaffolding (1% fee).

  • POST/api/stripe/portal

    Open the customer billing portal.

  • POST/api/stripe/webhook

    Verify and reconcile Stripe events.

Admin

  • POST/api/admin/login

    Enter the admin console.

  • POST/api/admin/logout

    Leave the admin console.

  • PATCH/api/admin/clients/[id]

    Suspend, activate or promote a client.

  • GET/POST/api/admin/progress

    Read and create progress tasks.

  • PATCH/api/admin/progress/[id]

    Advance a milestone.

  • PATCH/api/admin/templates/[slug]

    Toggle enabled/premium.

  • PATCH/api/admin/withdrawals/[id]

    Approve or reject a payout.

Where it's headed

What stands between here and launch

The product is built. These are the remaining steps to flip it live — a couple of hours of go-live work, then optional enhancements.

High

Switch Stripe to live mode

Swap test keys for production keys and register the live webhook endpoint.

1–2 hrs
High

Production deployment

Deploy to the hosting platform, set env vars, and configure DNS + SSL.

2–4 hrs
High

Role-based admin login

Let promoted ADMIN users sign in directly instead of the password gate.

~1 hr
Medium

Domain automation

Integrate a DNS/SSL provider to replace manually derived domain statuses.

4–8 hrs
Medium

Automated test suite

Formalize the manual verification flows into CI for onboarding, billing and admin.

8–16 hrs

Questions about the build?

This page tracks the platform as it evolves. Reach out and we'll walk you through any part of it.