Skip to content

codemonster-ru/annabel-cms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Annabel CMS

Important

This split repository is read-only.

Development happens in the Annabel monorepo under applications/annabel-cms. Issues and pull requests should be opened there.

Latest Version on Packagist License

Annabel CMS is the official modular content management system built on the Annabel framework.

Installation

composer create-project codemonster-ru/annabel-cms

The release contains the compiled admin assets, so Node.js is not required to install or run the CMS.

Features

  • Modular structure with explicit manifests, dependencies, routes, views, providers, and assets.
  • Automatic module discovery and deterministic lifecycle management.
  • Module-owned PHP, database, templates, Vue source, and build configuration.
  • Authentication, role-based admin access, CSRF protection, and configurable sessions.
  • Shared HTTP and console configuration for migrations and seeders.

Module Structure

app/Modules/Example/
├── Controllers/
├── Models/
├── database/
├── resources/
├── routes/
├── views/
├── module.php
└── ModuleServiceProvider.php

See docs/architecture.md for module lifecycle, dependency rules, authentication contracts, and scaling guidance.

Development

Inside the Annabel monorepo:

COMPOSER=composer.dev.json composer update
npm ci
npm run build
COMPOSER=composer.dev.json composer test
COMPOSER=composer.dev.json composer analyse

The development manifest symlinks Annabel packages from ../../packages/*. The public composer.json contains stable Packagist constraints and is used by the split repository. Rebuild and commit public/admin/assets whenever the admin frontend changes.

The bundled Dev Container is a standalone CMS environment that uses the public Composer manifest. Use the root monorepo quality commands when changing Annabel packages together with the CMS.

Database

Global migrations and seeders live under database/. Modules may own their database files under app/Modules/<Module>/database/.

php bin/database migrate
php bin/database migrate:rollback
php bin/database seed
php bin/database make:migration CreatePostsTable --module=Pages
php bin/database make:seed RolesSeeder --module=Auth

Deployment

Use SESSION_DRIVER=redis for horizontally scaled deployments. The default file driver is appropriate for single-node development.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors