Getting Started
Admin Panel
Settings
Search for a command to run...
DeepBuilder is a Laravel 12 + Livewire 4 SaaS for AI-assisted web projects.
This guide explains how the major pieces fit together.
| Layer | Technology |
|---|---|
| Backend | PHP 8.4, Laravel 12 |
| UI | Livewire 4, Blade, Tailwind CSS, Alpine.js |
| Database | MySQL / MariaDB (recommended in production) |
| Queue | Database or Redis (QUEUE_CONNECTION) |
| Realtime | Laravel Reverb (optional, config/reverb.php) |
| Auth | Session-based login/register Livewire pages |
| Permissions | Spatie Laravel Permission |
| Payments | Stripe & PayPal (stripe/stripe-php, srmklive/paypal) |
| AI | Pluggable providers (OpenAI, Anthropic, DeepSeek, Grok, ZhipuAI) |
| Money display | akaunting/laravel-money |
flowchart TB
subgraph public [Public site]
Main[Livewire Main - landing, blog, legal]
end
subgraph app [Authenticated app]
Dash[Dashboard]
Builder[Builder workspace + chat]
Billing[Package checkout]
end
subgraph admin [Admin]
AdminLW[Livewire Dashboard Admin]
Settings[SystemSettingsService]
end
subgraph core [Domain services]
Workspace[Workspace file APIs]
Agent[Builder agent / tool calls]
Credits[Credit ledger]
Pkg[Packages & subscriptions]
end
Main --> Dash
Dash --> Builder
Dash --> Billing
AdminLW --> Settings
Builder --> Workspace
Builder --> Agent
Agent --> Credits
Billing --> PkgApp\Livewire\Main)Marketing and auth:
Routes live in routes/web.php.
App\Livewire\Dashboard)Authenticated product UI:
BuildProject recordscross.origin.isolated middleware for WebContainer)Heavy lifting for files, terminal, publish, and chat streaming is done by HTTP controllers under App\Http\Controllers (not Livewire), called from the builder frontend.
App\Livewire\Dashboard\Admin)All admin screens are Livewire components under:
App\Livewire\Dashboard\Admin\{Feature}\{Feature}Component
App\Livewire\Dashboard\Admin\{Feature}\Options\{Action}Component
Routes: routes/admin.php → prefix /dashboard/admin.
There are no App\Http\Controllers\Admin classes.
App\Livewire\Installer)Web installer at /installer (requirements, license, database). Disabled after install via CheckInstaller middleware.
Core concepts:
| Concept | Model / area |
|---|---|
| Project | BuildProject |
| Chat messages | BuildProjectMessage |
| Agent run | AgentSession, AgentSessionEvent |
| File workspace | App\Services\Workspace\* + API controllers |
Build (npm run build) | BuildSession |
| Runtime (browser / WebContainer) | Builder, RuntimeSession |
| Publish | BuildProjectPublishedDomain, publish controllers |
Services under App\Services\Builder\ orchestrate AI tool calls, verification builds, and provider selection.
Configuration: config/deepbuild.php (limits, credits, agent rounds) and config/builder.php (WebContainer, terminal audience).
SaaS subscriptions only:
PackagePlan — plans and limitsPackageSubscription — active subscriptionsPackageOrder — checkout recordsPaymentGateway — Stripe/PayPal credentials/webhooks/billing/stripe, /webhooks/billing/paypal (CSRF excluded)Credits (CreditAccount, CreditTransaction) meter AI usage separately from subscription status.
Runtime branding and SEO use SystemSetting via App\Services\SystemSettingsService (not scattered settings_* tables like legacy DeepBuilder).
Admin Frontend sections use FrontendSectionHomePayload for homepage JSON payloads.
Builder file I/O uses JSON APIs on /dashboard/projects/{uuid}/workspace/... with standard Laravel auth.
EnsureUserIsAdmin + Spatie permissions on admin routesEnsureCrossOriginIsolation on builder routes when using isolated runtimesconfig/deepbuild.php