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.
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
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
Completion by area
Core product is feature-complete and running against a live database. A couple of go-live tasks remain.
Marketing website
CompleteSix responsive pages, design system, SEO metadata.
Client onboarding
CompleteMulti-step wizard with auto-save and resume.
Client dashboard
CompleteProject, billing, domain, balance & withdrawals.
Admin panel
CompleteRevenue, clients, transactions, payouts, analytics.
Database
LiveProduction Hostinger MySQL via Prisma.
Payments (Stripe)
Test modeCheckout, Elements, Portal & webhooks — pending live keys.
Domain automation
In progressStatuses tracked; DNS/SSL provider integration is next.
Automated test suite
In progressFlows verified manually; CI coverage to be formalized.
Page-by-page reference
Every route the platform serves, grouped by who it's for and what it does.
Marketing & public
AnyoneThe public storefront that attracts and converts clients. Server-rendered, SEO-ready, fully responsive.
Home
/Hero, features, live marketplace products, social proof and CTA.
Marketplace
/templatesBrowse products by category and price band; everything is DB-backed.
Product detail
/templates/[slug]Cover, screenshots, features, tech stack, version, docs status, live demo and Buy button.
Pricing
/pricingPlan, feature comparison and FAQ.
Process
/processThe Discover → Design → Build → Launch method.
Roadmap
/roadmapShipped, in-progress and planned product work.
Contact
/contactContact form that persists messages to the database.
Template preview
/preview/[slug]Full-bleed live render of a template (e.g. Bakery).
Documentation
/docsThis page — the living source of truth for the build.
Client experience
Signed-in clientsThe authenticated journey a customer takes from sign-up through to running their own website.
Sign in
/loginEmail/password login; suspended accounts are blocked.
Onboarding wizard
/onboardingAccount → Business → Branding → Payment, auto-saved and resumable.
Client dashboard
/dashboardWebsite status, domain/SSL, billing, project progress, balance & withdrawals.
Master admin panel
Operator / adminThe operations console with full control over revenue, clients, payouts and content. Renders full-bleed outside the marketing chrome.
Dashboard
/adminTotal & platform revenue, MRR, pending payouts, active clients.
Admin login
/admin/loginPassword-gated entry to the admin console.
Clients
/admin/clientsRevenue and balance per client; suspend, activate, promote.
Client detail
/admin/clients/[id]Full drill-down into a single tenant.
Transactions
/admin/transactionsEvery payment with platform fee and client earnings.
Withdrawals
/admin/withdrawalsApprove or reject client payout requests.
Templates
/admin/templatesEvery marketplace product — price, version, docs status, visibility.
New template
/admin/templates/newCreate a listing: cover, screenshots, features, tech stack, price.
Edit template
/admin/templates/[slug]/editFull editor for an existing listing; saves straight to MySQL.
Categories
/admin/categoriesThe 5 marketplace sections and the price band each advertises.
Orders
/admin/ordersEvery template purchase with buyer, amount and Stripe status.
Domains
/admin/domainsConnected domains, DNS and SSL status.
Analytics
/admin/analyticsMRR, revenue and a 6-month trend chart.
Onboarding submissions
/admin/onboardingReview incoming onboarding records.
Progress board
/admin/progressMove client milestones through Planned → In Progress → Completed.
Messages
/admin/messagesContact form submissions inbox.
Settings
/admin/settingsConfiguration and webhook verification status.
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.
Route handlers
Thin API endpoints that validate input at the boundary and forward to services.
Services & logic
Business rules — onboarding, finance, withdrawals, auth — isolated and testable.
Data & integrations
Prisma against live MySQL, plus Stripe for billing. Secrets read only from config.
Life of a request
- 1A visitor hits a route; Next.js renders the server component with typed data.
- 2Interactive actions call src/lib/api.ts, never fetch() directly from components.
- 3The matching route handler validates the request and delegates to a service.
- 4Services apply business rules and read/write through Prisma to MySQL.
- 5Stripe events arrive at the verified webhook and reconcile payments.
- 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.
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.
Nineteen REST endpoints
Thin route handlers that validate input and delegate to services, returning consistent JSON.
Auth & contact
- POST
/api/auth/loginSign a client in.
- POST
/api/auth/logoutEnd the session.
- POST
/api/contactPersist a contact message.
Onboarding
- POST
/api/onboardingStart an onboarding record.
- PATCH
/api/onboarding/[id]Save wizard progress.
- POST
/api/onboarding/[id]/paymentAttach payment to onboarding.
- POST
/api/withdrawalsRequest a client payout.
Marketplace
- POST
/api/checkout/templateBuy a template (one-time Stripe Checkout).
- POST
/api/admin/templatesCreate a marketplace listing.
- PATCH
/api/admin/categories/[slug]Rename or re-band a category.
Stripe
- POST
/api/stripe/checkoutCreate a Checkout session.
- POST
/api/stripe/subscriptionCreate/manage a subscription.
- POST
/api/stripe/connectConnect account scaffolding (1% fee).
- POST
/api/stripe/portalOpen the customer billing portal.
- POST
/api/stripe/webhookVerify and reconcile Stripe events.
Admin
- POST
/api/admin/loginEnter the admin console.
- POST
/api/admin/logoutLeave the admin console.
- PATCH
/api/admin/clients/[id]Suspend, activate or promote a client.
- GET/POST
/api/admin/progressRead 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.
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.
Switch Stripe to live mode
Swap test keys for production keys and register the live webhook endpoint.
Production deployment
Deploy to the hosting platform, set env vars, and configure DNS + SSL.
Role-based admin login
Let promoted ADMIN users sign in directly instead of the password gate.
Domain automation
Integrate a DNS/SSL provider to replace manually derived domain statuses.
Automated test suite
Formalize the manual verification flows into CI for onboarding, billing and admin.
Questions about the build?
This page tracks the platform as it evolves. Reach out and we'll walk you through any part of it.