holartweb / axora-cms
AxoraCMS — современная, гибкая и удобная CMS для создания быстрых, масштабируемых и красивых сайтов.
Requires
- php: ^8.2
- laravel/framework: ^12.0 | ^13.0
- livewire/livewire: ^4.2
- phpoffice/phpspreadsheet: ^2.0
Requires (Dev)
- orchestra/testbench: ^9.0
- dev-main
- 1.1.7.1
- 1.1.7
- 1.1.6.7
- 1.1.6.6
- 1.1.6.5
- 1.1.6.4
- 1.1.6.3
- 1.1.6.2
- 1.1.6.1
- 1.1.6
- 1.1.5.6
- 1.1.5.5
- 1.1.5.4
- 1.1.5.3
- 1.1.5.2
- 1.1.5.1
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2026-03-30 08:47:06 UTC
README
Полнофункциональная админ-панель для Laravel 12 с Vue.js, ролевой системой и современным дизайном на Tailwind CSS.
✨ Возможности
- 🚀 Отдельная админ-панель с кастомными роутами
- 🔐 Независимая аутентификация через модель TAdministrators
- 👥 Ролевая система (Супер админ, Администратор, Менеджер)
- 🎨 Vue.js 3 + Vue Router SPA frontend
- 🌓 Тёмная/светлая тема с сохранением предпочтений в localStorage
- 🎯 Tailwind CSS для современного дизайна
- 📦 Простая установка через одну команду
- ⚡ Автоматическая сборка фронтенда при установке
- 🎯 Настраиваемое название панели через конфиг
- 🔄 Восстановление пароля
- 📱 Адаптивный дизайн
- 🌐 Полная русификация интерфейса
📋 Требования
- PHP ^8.2
- Laravel ^12.0
- Node.js ^18.0 & NPM
🚀 Установка
Быстрая установка (Рекомендуется)
# 1. Установить пакет через Composer composer require holartweb/axora-cms # 2. Запустить команду установки (выполнит все шаги автоматически) php artisan axoracms:install
Команда axoracms:install выполнит:
- ✅ Публикацию конфигурации
- ✅ Запуск миграций
- ✅ Установку npm зависимостей (если нужно)
- ✅ Сборку фронтенда
- ✅ Публикацию ассетов
- ✅ Создание супер-администратора (опционально)
Локальная разработка
Для локальной разработки добавьте в composer.json основного проекта:
{
"repositories": [
{
"type": "path",
"url": "./packages/holartweb/axora-cms"
}
]
}
Затем:
composer require holartweb/axora-cms php artisan axoracms:install
Ручная установка (если нужно)
# 1. Публикация конфигурации php artisan vendor:publish --tag=axora-cms-config # 2. Запуск миграций php artisan migrate # 3. Сборка фронтенда cd packages/holartweb/axora-cms npm install npm run build cd ../../.. # 4. Публикация ассетов php artisan vendor:publish --tag=axora-cms-assets # 5. Создание администратора php artisan tinker
\HolartWeb\AxoraCMS\Models\TAdministrator::create([ 'name' => 'Супер Администратор', 'email' => 'admin@example.com', 'password' => bcrypt('password'), 'role' => 'super_admin', 'is_active' => true, ]);
⚙️ Конфигурация
Основные настройки
В файле config/axora-cms.php или через .env:
// Название панели (отображается в заголовках) 'name' => env('HOLART_CMS_NAME', 'AxoraCMS'), // Префикс роутов 'route_prefix' => env('HOLART_CMS_PREFIX', 'admin'),
В .env:
HOLART_CMS_NAME="Моя Админка" HOLART_CMS_PREFIX=admin
👥 Ролевая система
Роли и разрешения
Супер администратор (super_admin):
- ✅ Полный доступ ко всем функциям
- ✅ Управление администраторами
- ✅ Просмотр логов
- ✅ Назначение любых ролей
Администратор (administrator):
- ✅ Управление заказами, каталогами, товарами
- ✅ Ограниченный доступ к логам
- ✅ Назначение роли "Менеджер"
- ❌ Добавление администраторов
- ❌ Назначение роли "Супер админ"
Менеджер (manager):
- ✅ Просмотр и редактирование заказов
- ✅ Просмотр и редактирование каталогов и товаров
- ❌ Управление администраторами
- ❌ Доступ к логам
Использование ролей
В контроллерах:
// Проверка роли if ($admin->isSuperAdmin()) { // Действие только для супер админа } // Проверка разрешения if ($admin->hasPermission('manage_orders')) { // Действие для тех, у кого есть разрешение } // Проверка возможности назначить роль use HolartWeb\AxoraCMS\Enums\AdminRole; if ($admin->canAssignRole(AdminRole::ADMINISTRATOR)) { // Может назначить роль администратора }
В роутах с middleware:
use HolartWeb\AxoraCMS\Http\Middleware\CheckAdminRole; use HolartWeb\AxoraCMS\Http\Middleware\CheckAdminPermission; // Доступ только для супер админа Route::middleware(['auth:admin', CheckAdminRole::class.':super_admin'])->group(function () { Route::get('/admin/users', [UserController::class, 'index']); }); // Доступ по разрешению Route::middleware(['auth:admin', CheckAdminPermission::class.':manage_orders'])->group(function () { Route::resource('/admin/orders', OrderController::class); });
🎨 Интерфейс
Возможности UI
- Современный дизайн на Tailwind CSS с градиентами
- Переключение темы (светлая/тёмная) с автосохранением в localStorage
- Адаптивная верстка для всех устройств
- Информация о пользователе с аватаром и ролью в сайдбаре
- Левое боковое меню с навигацией
- Красивые формы авторизации и восстановления пароля
- SVG иконки для всех элементов интерфейса
Страницы
/admin/login- Авторизация/admin/forgot-password- Восстановление пароля/admin/- Главная панель (Dashboard)
🛠️ Разработка
Сборка frontend
Разработка с hot-reload:
cd packages/holartweb/axora-cms
npm run dev
Production сборка:
npm run build
Структура проекта
packages/holartweb/axora-cms/
├── config/
│ └── axora-cms.php (конфигурация с названием панели)
├── database/
│ └── migrations/
│ └── 2024_01_01_000001_create_t_administrators_table.php
├── resources/
│ ├── js/
│ │ ├── App.vue (Главный компонент с темной/светлой темой)
│ │ ├── app.js
│ │ ├── style.css (Tailwind CSS)
│ │ └── components/
│ │ └── Dashboard.vue
│ └── views/
│ ├── auth/
│ │ └── login.blade.php (Красивая страница входа с Tailwind)
│ └── dashboard.blade.php
├── routes/
│ └── admin.php
├── src/
│ ├── Console/
│ │ └── InstallCommand.php (с автосборкой фронта)
│ ├── Enums/
│ │ └── AdminRole.php
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Auth/
│ │ │ │ ├── LoginController.php
│ │ │ │ └── ForgotPasswordController.php
│ │ │ └── DashboardController.php
│ │ └── Middleware/
│ │ ├── CheckAdminRole.php
│ │ └── CheckAdminPermission.php
│ ├── Models/
│ │ └── TAdministrator.php
│ └── AxoraCMSServiceProvider.php
├── tailwind.config.js
├── postcss.config.js
├── composer.json
├── package.json
├── vite.config.js
└── README.md
📝 Примеры использования
Добавление кастомных роутов
// routes/web.php use HolartWeb\AxoraCMS\Enums\AdminRole; Route::middleware(['auth:admin'])->group(function () { // Доступно для всех авторизованных админов Route::get('/admin/profile', [ProfileController::class, 'show']); }); // Только для супер админа и администратора Route::middleware(['auth:admin', 'admin.role:super_admin,administrator'])->group(function () { Route::resource('/admin/products', ProductController::class); });
Получение текущего админа
use Illuminate\Support\Facades\Auth; $admin = Auth::guard('admin')->user(); echo $admin->name; // Имя администратора echo $admin->role->label(); // Название роли на русском
Переключение темы из кода
// В Vue компонентах const toggleTheme = () => { isDark.value = !isDark.value; localStorage.setItem('theme', isDark.value ? 'dark' : 'light'); if (isDark.value) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } };
🔒 Безопасность
- Пароли хешируются с помощью bcrypt
- CSRF защита на всех формах
- Session-based аутентификация
- Middleware для проверки ролей и разрешений
- Проверка активности пользователя (
is_active)
🔄 Обновление
composer update holartweb/axora-cms php artisan axoracms:install --force
🐛 Troubleshooting
Проблемы со сборкой фронтенда
Если автоматическая сборка не сработала:
cd packages/holartweb/axora-cms
npm install
npm run build
php artisan vendor:publish --tag=axora-cms-assets --force
Не работает темная тема
Убедитесь, что в tailwind.config.js включен darkMode: 'class':
export default { darkMode: 'class', // ... }
📄 Лицензия
MIT License
👨💻 Автор
HolartWeb Email: info@holartweb.com
💡 Совет: Команда php artisan axoracms:install автоматически выполнит все необходимые шаги для установки!