A Laravel-powered Content Management Platform
Modular Monolith • AI-Native • JSON-Metadata CPTs • Multi-Site • Marketplace Ready
BotCMS is an advanced, high-performance alternative to WordPress and Shopify. Built on Laravel 13+ and PHP 8.4+, BotCMS combines the dynamic extensibility of classic CMS platforms with the security, speed, and clean MVC structure of modern web applications.
| Feature | WordPress | Shopify | BotCMS (Our Monolith) |
|---|---|---|---|
| Framework/Language | Legacy PHP (Procedural) | Closed SaaS (Ruby/Liquid) | Modern PHP 8.4+ / Laravel 13 (MVC) |
| Database Schema | Bloated EAV (wp_postmeta) |
Proprietary API Cache | Clean SQL + JSON Metadata Columns |
| Response Speed | 150ms - 500ms (Uncached) | Variable (Hosted API) | Sub-15ms (Native database compile) |
| AI Compatibility | Poor (Requires heavy DB setups) | Medium (Theme Liquid files) | Excellent (Code-first template files) |
| Extensibility | Messy Hook actions | App Bridge Webhooks (Slow) | Secure Sandbox Action/Filter Hooks |
| Architecture | Spaghetti legacy files | Multi-tenant SaaS | Decoupled Modular Monolith |
BotCMS is designed around three decoupled, recursive folders residing in the workspace root:
Modules/(Core Application Layer): Holds essential system packages like Auth (login, roles, RBAC permissions) and Dashboard (visual control panel screens).Plugins/(Logical Extension Layer): Self-contained packages with custom routes, controllers, models, and migrations. They can inject HTML input fields into forms using core Action Hooks and save extra data into custom SQL tables.Themes/(Visual Frontend Layer): Folder structures containing custom templates and CSS styling configurations. Switching active themes dynamically swaps the CSS framework engine (Tailwind CSS vs. Bootstrap 5).
Non-technical managers can create pages in the Admin Dashboard. However, if a developer or coding AI wants to build a highly customized, interactive page:
- Simply create a file named
page-{$slug}.blade.php(e.g.page-about-us.blade.php) inside your active theme directory (Themes/{activeTheme}/resources/views/). - Resolution Priority: When a user visits
/about-us, BotCMS scans the theme directory first. If the file exists, it renders the template file directly, ignoring the database content!
Register new post types (e.g. Portfolio, Testimonials) at boot time:
use App\Core\Facades\PostType;
PostType::register('portfolio', [
'label' => 'Portfolio',
'singular_label' => 'Project',
'icon' => 'briefcase',
'supports' => ['title', 'editor'],
'fields' => [
'client_name' => ['type' => 'text', 'label' => 'Client Name'],
'project_date' => ['type' => 'date', 'label' => 'Completion Date'],
]
]);- Auto-Generated Admin UI: Forms, fields, and tables are generated automatically in the Admin Dashboard.
- Database Performance: Saved attributes are stored in a native
metadataJSON column on thepoststable—retaining dynamic flexibility while utilizing native database JSON index compiled speeds.
We have built a foundational E-Commerce starter plugin showing how plugins can extend the core platform:
- Custom Migrations: Creates a
plugin_productstable containingsku,price, andstock_quantity. - Hierarchical Sidebar Menus: Dynamic parent-child navigation registry using the
AdminMenufacade, creating nested Products, Orders, and Stripe Gateways screens. - Action Hook Injections: Injects inputs into the dynamic product CPT edit form using
botcms_cpt_edit_fields_productand saves data to its custom table usingbotcms_cpt_saved_product. - Public Shop Catalog: Registers public routes
/shopand/shop/product/{slug}utilizing its own models and Blade views.
- PHP 8.4+ (PHP 8.5 recommended)
- Composer 2.9+
- SQLite (default) or PostgreSQL/MySQL
Run the interactive setup script in the workspace root:
./install.shThis script validates your environment, installs dependencies, prompts you to select your preferred database driver, runs migrations, and seeds defaults.
php artisan serveOpen http://127.0.0.1:8000 to view the public site.
- Admin URL: http://127.0.0.1:8000/login
- Default Super Admin:
- Email:
admin@botcms.local - Password:
admin123
- Email:
Execute the feature test suite verifying modular isolation, hooks registry, authentication, CPTs, and BotCommerce integration:
php artisan testFor a deep dive into Hook registries, custom plugin creation, and theme configuration, refer to our detailed developer logs:
- Markdown format: DOCUMENTATION.md
- HTML format: DOCUMENTATION.html
Licensed under the MIT Open Source License. Build something extraordinary!