Xen is a modern modular CMS based on the Annabel framework, designed for clean architecture, simple code, and extensibility through independent modules.
composer require codemonster-ru/xen- Modular structure: Each CMS component is a separate module (
Pages,Users,Admin, etc.). - Automatic module loading:
ModuleManagerfinds and bootsModuleServiceProviderinapp/Modules. - Minimal bootstrap:
bootstrap/app.phponly creates theApplicationinstance. - Templates within modules: Each module can have its own templates (
Views/) and callview('pages::home'). - Annabel compatibility: Uses core features (service providers, container, view engine, router, etc.).
Global (project) migrations live in database/migrations.
Module migrations live beside their code under app/Modules/<Module>/database/migrations.
bootstrap/migrationPaths.php collects migration paths, with database/migrations used as the default location.
Run everything through the bundled wrapper:
php bin/database migrate
php bin/database migrate:rollback
php bin/database make:migration CreatePostsTable
php bin/database make:migration CreatePostsTable --module=PagesThe CLI reads the same config/database.php as the application, so the migrations table, database connections,
and module paths stay synchronized between HTTP and console work.
Global (project) seeders live in database/seeds.
Module seeders live beside their code under app/Modules/<Module>/database/seeds.
php bin/database seed
php bin/database make:seed RolesSeeder
php bin/database make:seed RolesSeeder --module=AuthAuth module routes:
GET /login,POST /login(guest only, CSRF protected)GET /register,POST /register(guest only, CSRF protected)GET /profile(auth only)POST /logout(auth only, CSRF protected)