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для конкретного приложения.