Skip to content

codemonster-ru/xen

Repository files navigation

Xen CMS

Latest Version on Packagist Total Downloads License

Xen is a modern modular CMS based on the Annabel framework, designed for clean architecture, simple code, and extensibility through independent modules.

Installation

composer require codemonster-ru/xen

Features

  • Modular structure: Each CMS component is a separate module (Pages, Users, Admin, etc.).
  • Automatic module loading: ModuleManager finds and boots ModuleServiceProvider in app/Modules.
  • Minimal bootstrap: bootstrap/app.php only creates the Application instance.
  • Templates within modules: Each module can have its own templates (Views/) and call view('pages::home').
  • Annabel compatibility: Uses core features (service providers, container, view engine, router, etc.).

Database Migrations

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=Pages

The 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.

Database Seeders

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=Auth

Auth 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)

Author

Kirill Kolesnikov

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages