Доброго времени суток. Решил поделится и послушать обоснованную критику о своем небольшом наборе для быстрого старта нового проекта.
Собрал в этом наборе компоненты и заготовки, которые встречаются в большинстве типовых и не очень проектов. Едва успел остановится чтобы не городить свою CMS, но сделал довольно много всяких полезных вещей.
Первым делом - https://github.com/trntv/yii2-starter-kit
Демо:
http://yii2-starter-kit.terentev.net
http://backend.yii2-starter-kit.terentev.net
Login: webmaster
Password: webmaster
Набор основан на advanced шаблоне из оф. репозитория.
В комплекте:
- Готовая админка, с отличной темой под MIT лицензией http://almsaeedstudio.com/AdminLTE/
- Фронт+бек для статей с категориями, статичных страниц, текстовых блоков
- Бек к бутстраповским каруселям
- Возможность задания конфигов для меню с помощью json и созданный под это дело виджет yii2-aceeditor
- Настроенный DbTarget + просмотр логов из админки
- Управление пользователями
- Профиль пользователя (имя, пол, аватар, локаль)
- Минимальный RBAC с тремя ролями по умолчанию - user, manager, administrator
- События приложения + интерфейс к ним.
- Компонент файловых хранилищ (слой абстракции ) + базовое хранилище "filesystem" + экшены и поведения под это дело
- Небольшой самописный загрузчик файлов - базовый функционал поверх blueimp. Пример работы при загрузке аватара в профиле
- Переключение языков в настройках профиля + перевод текстов набора на русский и украинский
- Сводка информации о системе хоста с красивыми графиками
- Простое хранилище ключ-значение. Чтобы понять зачем оно надо - поменяйте значение ключ "backend.theme-skin" на "skin-black" например.
- большинство client-side библиотек установлены через bower, конфиг в проекте, так что можно легко обновлять.
- elfinder, imperavi c подключенной загрузкой файлов, парочка полезных поведений и много всяких мелочей. Например пример конфига под nginx. Находится в environments/local/nginx_example.conf
Ставится все это через composer. Название пакета trntv/yii2-starter-kit. После установки, настраиваем веб-сервер, соединение с базой, применяем миграции и запускаем php environments/local/yii rbac/init
P.S. Пользуйтесь на здоровье. Код местами может быть сыроват, местами не оптимален, местами могут быть баги (вообщем-то как обычно )
Очень-очень приветствуются замечания, любые даже незначительные пул реквесты, советы и добрые слова. Удачи и мир вашему дому.
P.S.S. elfinder пока не совсем рабочий, сегодня отправил пулл реквест автору с небольшим улучшением и исправлением. Как примет его - все заработает.
UPD. Уже принят.
UPD 15.10.2014
Между тем, было сделано очень много нового с момента создания темы.
- user - вынесен в отдельный модуль + новые функции (смена юзернейма, пароля и тп)
- модуль для управление переводами в DbMessageSource + контроллер для миграции сообщений между разными форматами + простенький экшн для смены локали
- кеш, оптимизации
- улучшена структура конфигов
- добавлены backendUrlManager и frontendUrlManager, чтобы можно было в одном приложении ссылаться на другое
- новые заготовки конфигов (кеш nginx например)
- использование Bleamable и Slugable поведений
- ... что-то еще о чем я забыл
- тонны мелких улучшений
PS. отдельно написал небольшой proof-of-concept xhprof панели для дебаг модуля - https://github.com/trntv/yii2-debug-xhprof
Панель включена в yii2-starter-kit, посмотрите, принимаю замечания и пожелания - буду улучшать
UPD 07.04.2015
Для особо ленивых, тех кто работает в команде, а так же тех кто не понимает как применить то что написано в README к его WAMP платформе - в проект добавлена поддержка Vagrant. Так что весь запуск и работа сводятся к одному (ну почти одному)
Код: Выделить всё
vagrant up