Yii2 Starter Kit - шаблон для старта приложения

Выкладываем свои наработки
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Yii2 Starter Kit - шаблон для старта приложения

Сообщение ZeiN » 2014.08.13, 22:26

Внимание! В проект постоянно добавляются новые плюшки и улучшения. Так что текст ниже не покрывает всего что есть, т.к. у меня нет времени и возможности синхронизировать его с чейнджлогом. Актуальную информацию смотрите в репозитории проекта.

Доброго времени суток. Решил поделится и послушать обоснованную критику о своем небольшом наборе для быстрого старта нового проекта.
Собрал в этом наборе компоненты и заготовки, которые встречаются в большинстве типовых и не очень проектов. Едва успел остановится чтобы не городить свою 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
Удачи
Последний раз редактировалось ZeiN 2015.04.16, 21:09, всего редактировалось 5 раз.

Аватара пользователя
PendalF
Сообщения: 118
Зарегистрирован: 2013.10.22, 19:20
Контактная информация:

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение PendalF » 2014.08.13, 23:11

Очень и очень круто! Особенно понравилась система логов и оповещений, возьму эту идею на вооружение. Ещё порадовал загрузчик аватарок к пользователям, выглядит здорово и работает шустро!

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.13, 23:43

PendalF писал(а):Очень и очень круто! Особенно понравилась система логов и оповещений, возьму эту идею на вооружение. Ещё порадовал загрузчик аватарок к пользователям, выглядит здорово и работает шустро!
Спасибо. В планах туда добавить загрузку нескольких изображений и визуализировать загруженную "не картинку". Так что пока он готов только наполовину.

Аватара пользователя
Akulenok
Сообщения: 427
Зарегистрирован: 2014.05.05, 18:32
Откуда: localhost

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Akulenok » 2014.08.14, 00:44

в профиле ставлю русский, перехожу на любую страницу, текст становится опять английским, так и должно быть?
ភាសាខ្មែរ Yii2 - это кайф!

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.14, 09:44

Akulenok писал(а):в профиле ставлю русский, перехожу на любую страницу, текст становится опять английским, так и должно быть?
Вообще-то нет. Это новый пользователь или webmaster? frontend или backend?

Аватара пользователя
Akulenok
Сообщения: 427
Зарегистрирован: 2014.05.05, 18:32
Откуда: localhost

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Akulenok » 2014.08.14, 11:11

webmaster frontend
ភាសាខ្មែរ Yii2 - это кайф!

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.14, 11:56

Akulenok писал(а):webmaster frontend
странно, у меня нормально работает. прошу учесть что там язык меняется только через 1 запрос. сделал пока по быстрому, поэтому так. на днях додумаю как лучше и сделаю, чтобы переключался в следующем.

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.14, 12:53

Akulenok писал(а):в профиле ставлю русский, перехожу на любую страницу, текст становится опять английским, так и должно быть?
Вообщем отловил баг и поправил. Спасибо за наводку.
Переключение языка в следующем запросе тоже заодно сделал.

Аватара пользователя
samdark
Администратор
Сообщения: 8812
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение samdark » 2014.08.14, 13:15

Офигенно. Можно я это всё использую для допила advanced шаблона? :)

Аватара пользователя
xoma
Сообщения: 640
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение xoma » 2014.08.14, 14:08

Едва успел остановится чтобы не городить свою CMS
Я в свое время так и не смог остановиться =) Выглядит классно все!
http://yupe.ru - интернет-магазин на Yii 1.x
http://amylabs.ru/ - разработка и поддержка проектов на Yiiframework

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.14, 21:43

Sam Dark писал(а):Офигенно. Можно я это всё использую для допила advanced шаблона? :)
конечно :)

Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Ekstazi » 2014.08.14, 22:05

Неплохо для начала, спасибо.

alexKh
Сообщения: 14
Зарегистрирован: 2014.07.18, 10:36

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение alexKh » 2014.08.15, 11:24

Спасибо, большое, если "вкусняшки", которые можно выдернуть на свой проект =)

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.15, 17:04

Благодаря людям, которые пришли протестить демку, нашлись баги. Сейчас я поправил ошибки которые благодаря им остались в логах :)
Плюс обнаружил что немного ошибся с составлением .gitignore и в репозиторий не ушла часть файлов из environments/local/config.
Так что имейте ввиду, что за последние сутки, много поправлено и кое-что добавлено ;)

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение zelenin » 2014.08.15, 17:50

было бы неплохо все разбить на модули, т.к. чересчур много всего в каждой папке.

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.15, 21:56

zelenin писал(а):было бы неплохо все разбить на модули, т.к. чересчур много всего в каждой папке.
например?
раньше тоже любил все разбивать по модулям, но в данном случае может только для статей создал бы модуль, так как в там две сущности. К тому же сильно усложнять структуру не хотелось бы.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение zelenin » 2014.08.15, 21:59

ZeiN писал(а):
zelenin писал(а):было бы неплохо все разбить на модули, т.к. чересчур много всего в каждой папке.
например?
раньше тоже любил все разбивать по модулям, но в данном случае может только для статей создал бы модуль, так как в там две сущности. К тому же сильно усложнять структуру не хотелось бы.
https://github.com/trntv/yii2-starter-k ... ontrollers
https://github.com/trntv/yii2-starter-k ... mon/models

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.15, 23:03

Да контроллеров немало, но я не совсем хочу делать точно такое же количество модулей. Раньше на каждую сущность делал. Сейчас же не вижу смысла, если логически не объединяются минимум три сущности в модуль, либо для чего-то нужна специфическая логика. Вот как например статья, категория статьи и что-то еще. Пока тут такого нет, имхо, нет. Да и не хотелось сильно усложнять, это же стартовый набор, а не CMS
Последний раз редактировалось ZeiN 2014.08.15, 23:09, всего редактировалось 1 раз.

lynicidn
Сообщения: 2220
Зарегистрирован: 2014.05.24, 15:12

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение lynicidn » 2014.08.15, 23:07

модули проще переносить, если это каркас, то нет смысла и правда, но такая каша не популярна, трудно чтото выкинуть и заменить другим. С другой стороны нельзя связать 2 модели из разных модулей логически верно.
п.с. в смысле надо костылить с классами для related models

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN » 2014.08.15, 23:13

xoma писал(а):
Едва успел остановится чтобы не городить свою CMS
Я в свое время так и не смог остановиться =)
Ну и не зря ;)

Ответить