Project overview
Overview
- Scope
- Laravel application
- Architecture
- Modular headless-first CMS; Kernel (app/bootstrap) plus installable Domain and Extension modules
- Runtime
- PHP 8.3+, Laravel 12/13, Filament 5, Livewire 4, Vite 6, Tailwind CSS 4
Key concepts
- Kernel
- UTICMS platform code in app/ and bootstrap/; distinct from modules/Core/.
- Core Module
- modules/Core/ with is_core true; updates Kernel files and reports core_version.
- Domain Module
- Self-contained business domain such as Shop or Blog.
- Extension Module
- Feature built on one or more Domain modules, such as ShopB2C or OneCBridge.
- Module
- Filesystem package registered by module.json and optionally installed or active in the modules table.
- Active Module
- Installed module whose is_active database flag permits runtime integration.
- Cms Frontend Preset
- CMS_FRONTEND resolving feature flags for full, small, or headless runtime.
Structure
- Kernel
- Codeapp/
- Bootstrapbootstrap/
- RolePlatform foundation; not a module
- Distribution
- Configurationconfig/
- Routesroutes/
- Databasedatabase/
- Vendorvendor/
- Core Module
- Pathmodules/Core/
- Manifest Flagis_core
- RoleKernel updater and core_version source for license sync
- Extension Model
- Module Sourcesmodules/
- Module Manifestmodules/<ModuleName>/module.json
- Module Database Recordmodules table
- Layers
- kernel
- core_module
- domain_module
- extension_module
- User Interfaces
- AdministrationFilament panel
- Public SiteFeature-gated Laravel routes and Blade/Livewire views
- ApiCore and module API routes
- Data Stores
- PrimaryMySQL
- Supported
- MariaDB
- MySQL
- PostgreSQL
- Cache QueuesRedis via predis or database driver
Facts
- Composer declares PHP >=8.3, Laravel 12/13, Filament 5, Livewire 4, Sanctum, Reverb, Laratrust, durable-workflow/workflow, and uticms/platform. authoritative
- Vite 6 builds JavaScript and Tailwind CSS 4 assets; Alpine.js 3 is a runtime frontend dependency; Editor.js powers Page CMS blocks. authoritative
- Composer includes Flysystem AWS S3 and FTP adapters, GeoIP2, Telegram bot SDK, and predis for Redis. authoritative
- Production targets MariaDB or MySQL; PostgreSQL is supported through DatabaseDialect; SQLite is used for local development. authoritative
- Laravel route files separate web, API, CMS public, admin, console, channels, and CDN concerns. authoritative
- CMS feature flags resolve from CMS_FRONTEND presets and optional CMS_FEATURE_* overrides. authoritative
- full enables public routes, page CMS, and site resolution; small enables public routes but disables page CMS and site resolution; headless disables public routes and enables public CORS. authoritative
- Kernel code in app/ and bootstrap/ does not depend on business module implementations; modules attach to Kernel. authoritative
How-to guides
Scoped Change
- identify affected subsystem and active module boundary
- inspect code, migrations, config, and module manifests for that scope
- apply and verify the smallest change that respects constraints
Rules
Architectural rule
Do not assume public CMS routes or page rendering exist unless their resolved CMS feature flags are enabled.