Skip to main content
Read this before drilling into modules.

Runtime Surfaces

Public web application

The web layer provides:
  • marketing pages
  • authentication and verification flows
  • subscription checkout
  • one-time product checkout
  • blog and roadmap pages
  • invoice generation and preview
These routes are defined mainly in routes/web.php.

Admin panel

The admin panel is registered by App\Providers\Filament\AdminPanelProvider and lives at:
/admin
It handles revenue, product, user, content, roadmap, and settings management.

User dashboard

The user dashboard is registered by App\Providers\Filament\DashboardPanelProvider and lives at:
/dashboard
It contains the customer-facing account area, subscription operations, referrals, balance management, and profile features.

Structure

Service layer

Most business logic is organized under app/Services. This keeps controllers, Livewire components, and Filament resources relatively thin. Key examples:
  • CheckoutService
  • SubscriptionService
  • OrderService
  • InvoiceService
  • MetricsService
  • TransactionService
  • UserService
  • ConfigService
  • PaymentService

Event-driven side effects

Domain events are grouped by concern under app/Events, with listeners under app/Listeners. Event areas include:
  • balance
  • order
  • referral
  • subscription
  • user
This is the right extension point for notifications, bookkeeping, and non-blocking side effects. For practical customization guidance, read Events and Extension Points.

Provider abstraction

Payment providers and verification providers are implemented behind interfaces. This keeps provider-specific SDK logic out of the rest of the application. Notable abstractions:
  • PaymentProviderInterface
  • VerificationProviderInterface
  • BalanceTopupProviderInterface

Modules

Commerce

  • subscription billing
  • one-time purchases
  • discounts and discount codes
  • invoices
  • transactions
  • balance top-ups

Identity and access

  • Laravel auth scaffolding
  • email verification
  • phone verification
  • social login
  • two-factor authentication
  • roles and permissions through Spatie Permission

Content and engagement

  • blog
  • roadmap
  • announcements
  • FAQs
  • legal pages

Product presentation

  • DaisyUI theme switching
  • localized URLs
  • SEO and sitemap support

Version note

Some older project documents still describe Livewire 3 and Filament 4. The current codebase dependencies indicate Livewire 4 and Filament 5. Treat the package manifest as the authoritative version reference.
Last modified on March 30, 2026