cookyii / project
Base application for Cookyii CMF
Installs: 42
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 0
Type:yii2-extension
pkg:composer/cookyii/project
Requires
- php: >=5.5.0
- cookyii/base: dev-master
- cookyii/module-account: dev-master
- cookyii/module-client: dev-master
- cookyii/module-feed: dev-master
- cookyii/module-media: dev-master
- cookyii/module-page: dev-master
- cookyii/module-postman: dev-master
- cookyii/module-translation: dev-master
- rmrevin/yii2-favicon-widget: ~1.2
- rmrevin/yii2-fontawesome: ~2.12
- rmrevin/yii2-imperavi-bundle: ~1.0
- rmrevin/yii2-ionicon: ~1.1
- rmrevin/yii2-minify-view: ~1.9
- rmrevin/yii2-rbac-command: ~1.3
- rmrevin/yii2-socicon: ~1.0
- yiisoft/yii2: ~2.0
- yiisoft/yii2-authclient: ~2.0
- yiisoft/yii2-composer: ~2.0
- yiisoft/yii2-imagine: ~2.1
- yiisoft/yii2-queue: dev-master
- yiisoft/yii2-swiftmailer: ~2.0
Requires (Dev)
- codeception/codeception: ~2.0
- codeception/phpbuiltinserver: ~1.2
- codeception/specify: ~0.4
- codeception/verify: ~0.2
- yiisoft/yii2-debug: ~2.0
- yiisoft/yii2-faker: ~2.0
Suggests
- predis/predis: For redis queue need predis client.
This package is not auto-updated.
Last update: 2025-10-25 23:48:01 UTC
README
cookyii/project это каркас приложения Yii 2
оптимизированный под средние и большие проекты, которые состоят из нескольких приложений
(как правило - админа + публичный сайт, но могут добавляться и другие виды.
Например rest, erp, crm, мобильное приложение и тд).
Каркас включает базовые функции для работы cms, а также предоставляет инфраструктуру для работы готовых модулей, реализующий ту или иную функциональность.
Структура директорий
На данный момент в шаблоне представлено три приложения - frontend, backend и crm.
Это всего лишь пример набора приложений.
Можно смело удалять любые приложения, либо создавать свои собственные.
conf.d/ файлы конфигурации для окружения (например nginx или rabbitmq)
common/ общие компоненты для всех приложений
frontend-app/ код приложения frontend
frontend-assets/ ресурсы для приложения frontend
frontend-modules/ модули приложения frontend
backend-app/ код приложения backend
backend-assets/ ресурсы для приложения backend
backend-modules/ модули приложения backend
crm-app/ код приложения crm
crm-assets/ ресурсы для приложения crm
crm-modules/ модули приложения crm
messages/ переводы языковых строк для всех приложений
resources/ модели ActiveRecord для всех приложений
vendor/ пакеты сторонних разработчиков
Структура директорий внутри проиложения
frontend-assets/ исходники ресурсов, которые будут опубликованны в публичной части приложения
frontend-app/
assets/ бандлы с ресурсами приложения
components/ компоненты приложения
config/ конфигурация приложения
controllers/ контроллеры приложения
tests/ автоматические тесты приложения
views/ представления (view) приложения
web/ публичная часть приложения, доступная из веба
widgets/ виджеты приложения
Структура директорий внутри модуля
frontend-modules/
ModuleName/
assets/ ресурсы и бандлы для модуля
commands/ контроллеры команд для выполнения в терминале (cli)
components/ компоненты модуля
controllers/ контроллеры модуля
views/ представления (view) модуля
widgets/ виджеты модуля
Системные требования
- PHP 5.4 или выше
- NodeJS 0.10 или выше
- Composer
- npm
Установка (first deploy)
-
В консоли выполните команду
composer create-project --prefer-dist --stability=dev cookyii/project new-project
-
Перейдите в директорию
new-projectи запустите процес инсталяции с помощью команды./build install. Скрипт задаст несколько вопросов и выполнит следующие действия:- Создаст новую схему в базе данных (
install/database) - Создаст нового пользователя в базе данных и даст ему права на доступ к новой схеме (
install/mysqlUserName) - Скопирует файл
.env.dist.phpв.env.phpи заполнит некоторые поля автоматически.
- Создаст новую схему в базе данных (
-
Проверьте, что в созданном файле конфигурации
.env.phpзаполнены все необходимые поля. -
(опционально) Скопируйте файлы
~/*-app/.credentials.dist.phpв~/*-app/.credentials.php(в директориях приложений), заполнить необходимые данные. -
Соберите билд с помощью команды
./build(для продакшена./build prod). -
Создайте нового пользователя - администратора с помощью команды
./yii account/add -
(опционально) Если Вам не нужны приложения
crmиbackend, Вы можете удалить директорииcrm-app,crm-assets,crm-modules,backend-app,backend-assetsиbackend-modules. Аналогично, если Вам нужно какое-то дополнительное приложение (напримерrest), Вы можете создать схожие директории. -
Настройте виртуальные хосты для Ваших приложений, например:
new-project.com -> .../frontend-app/web backend.new-project.com -> .../backend-app/web crm.new-project.com -> .../crm-app/web
Вот и всё, восемь простых шагов =)
После всех этих манипуляций, Ваш новый сайт должен быть доступен по адресу new-project.com.
Обновление проекта (deploy)
- Обновите кодовую базу проекта из Вашего репозитория (например
git pull). - Соберите билд с помощью команды
./build(для продакшена./build prod).
Настройка
Вы можете изменять любые настройки в директориях
./common/config/, ./frontend-app/config/, ./backend-app/config/, ./crm-app/config/, ./console-app/config/
и в конфигурации билда проекта.
Доступные команды ./build
./build install- запустить процесс установки../buildили./build dev- собрать проект для dev площадки../build demo- собрать проект для demo площадки../build prod- собрать проект для продакшена.
Дополнительно доступны следующие команды (они выполняются в рамках set/* команд, и сюда добавлены только для справки):
./build map- показать список всех команд../build self/update- обновить библиотеку сборкиbuild.phar../build clear- удалить все временные файлы и логи во всех приложениях../build clear/*- удалить все временные файлы и логи в конкретном приложении../build composer- установитьcomposerзависимости изcomposer.lock../build composer/update- скачать новые версииcomposerзависимостей и обновитьcomposer.lock../build composer/install- скачать новые версииcomposerзафиксированные вcomposer.lock../build composer/install-prod- скачать новые версииcomposerзафиксированные вcomposer.lockбезrequire-dev../build composer/selfupdate- обновитьcomposer../build composer/update-fxp- обновить плагинfxp/composer-asset-plugin../build npm/install- установить зависимостиnpm../build npm/update- обновить зависимостиnpm../build bower/install- установить зависимостиbower../build bower/update- обновить зависимостиbower../build migrate- выполнить все новые миграции для всех приложений../build migrate/*- выполнить все новые миграции для конкретного приложения../build rbac- обновить правилаrbacдля всех приложений../build rbac/*- обновить правилаrbacдля конкретного приложения../build less- скомпилироватьlessдля всех приложений../build less/*- скомпилироватьlessдля конкретного приложения.