PHPackages                             keendigit/laravel-cms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. keendigit/laravel-cms

ActiveProject[Templating &amp; Views](/categories/templating)

keendigit/laravel-cms
=====================

Laravel 12 CMS Template with Extension System - A modern CMS framework with hot-pluggable extensions

v0.0.1(11mo ago)04MITBladePHP ^8.2

Since Jun 7Pushed 11mo agoCompare

[ Source](https://github.com/keendigit/laravel-cms)[ Packagist](https://packagist.org/packages/keendigit/laravel-cms)[ Docs](https://github.com/keendigit/laravel-cms)[ RSS](/packages/keendigit-laravel-cms/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (17)Versions (2)Used By (0)

KeenDigit CMS Template
======================

[](#keendigit-cms-template)

A modern, extensible CMS template built on Laravel 12 with a powerful extension system.

Features
--------

[](#features)

- **Laravel 12** - Built on the latest Laravel framework
- **Extension System** - Hot-pluggable extensions with isolated namespaces
- **Modern Frontend** - Vue 3 + Inertia.js + Ant Design Vue
- **High Performance** - Swoole/RoadRunner support for production
- **Flexible Architecture** - Core/Extension separation for maintainability
- **PostgreSQL** - Primary database with JSONB support for flexible data storage

Quick Start
-----------

[](#quick-start)

### Installation

[](#installation)

```
composer create-project keendigit/laravel-cms my-cms-project
cd my-cms-project
```

### Complete Setup

[](#complete-setup)

```
# Install dependencies and lock versions
composer install

# Configure your database in .env file:
# DB_CONNECTION=pgsql
# DB_HOST=127.0.0.1
# DB_PORT=5432
# DB_DATABASE=your_database_name
# DB_USERNAME=your_username
# DB_PASSWORD=your_password

# Generate application key
php artisan key:generate

# Finalize CMS setup (merges routes, publishes assets)
php artisan cms:finalize-setup

# Run migrations
php artisan migrate --seed
```

### Frontend Setup

[](#frontend-setup)

```
# Install frontend dependencies
npm install

# Build frontend assets
npm run build

# Or run development server
npm run dev
```

### Development Server

[](#development-server)

```
# Using Laravel's built-in server
php artisan serve

# Or using Swoole (recommended for production)
php artisan swoole:http start
```

Directory Structure
-------------------

[](#directory-structure)

```
keendigit-cms-template/
├── core/                    # Laravel core application
│   ├── app/                 # Application code
│   ├── config/              # Configuration files
│   ├── database/            # Migrations, factories, seeders
│   ├── resources/           # Views, frontend assets
│   └── routes/              # Route definitions
├── extensions/              # Extension modules
├── public/                  # Web server entry point
├── storage/                 # File storage
├── tests/                   # Test suites
└── vendor/                  # Composer dependencies

```

Extension System
----------------

[](#extension-system)

### Creating an Extension

[](#creating-an-extension)

```
php artisan extension:make my-extension
```

This creates a new extension in `extensions/my-extension/` with the following structure:

```
extensions/my-extension/
├── Extension.php           # Main extension class
├── extension.json          # Extension manifest
├── src/                    # Extension source code
│   ├── Controllers/        # Controllers
│   ├── Models/             # Eloquent models
│   └── Services/           # Business logic
├── resources/              # Frontend resources
│   ├── js/                 # Vue components
│   └── css/                # Stylesheets
├── routes/                 # Extension routes
├── config/                 # Extension configuration
└── database/               # Extension migrations

```

### Extension Example

[](#extension-example)

```
