Yii2 Fast Simple Advanced App ¶
Yii2-app is Fast and Ready-to-production advanced project template.
Dockerized, for development (mysql, nginx, php-fpm)
Please, enable php intl extension for better work.
Default, the template includes three tiers: frontend
, backend
, and console
, each of which is a separate Yii application.
NOTE: Template is in initial development. Anything may change at any time.
Features ¶
- Gentelella Admin template is beautiful and simple bootstrap, compatible with yii2 assets: yiister/yii2-gentelella, Demo
- Yii2 User is strong and proved user-module with many features: dektrium/yii2-user (login
adminus
, passwordadminus
) - Frontend and Backend User Controllers are filtered (by
dektrium/yii2-user
) - File or DB cache, but I recommend Redis Cache - it is really fast
- Yii2 queue (DB table
queue
), but you can use Redis-queue or other yii2-queue docs - Queue Manager with backend (
/queuemanager/default/index
) using ignatenkovnikita/yii2-queuemanager - Log DB Target with backend (
/log/index
) - simply view log messages - .htaccess - config for pretty urls (rewrite index.php), may be later add nginx config
- UrlManagerFrontend for backend app (all url rules in file
frontend/config/urls.php
, hostInfo incommon/config/params.php
) - i18n translations in
common/messages
with config (current only English and Russian, language translation are welcome!) - ContactForm in frontend app is improved: himiklab/yii2-recaptcha-widget,
all email are saved to DB (
common/models/EmailForm
Model), optionally send message to Viber messenger via bot (install requirements Bogdaan/viber-bot-php and config, uncomment code in Model) - Gii generator:
- added yii2-queue Jobs generator
- yii2 migration generator (from existing table) Insolita/yii2-migrik
- schmunk42/yii2-giiant - really steroid, but in development with bugs
Available modules ¶
These modules can be easy installed to Yii2-App using Composer:
- Yii2 Super Blog Module (semantic, seo): akiraz2/yii2-blog
- Yii2 many web-statictic counters (all-in-one) (yandex, google, own db-counter): akiraz2/yii2-stat
- yii2 opengraph component: dragonjet/yii2-opengraph
- yii2 settings (db+cache): yii2mod/yii2-settings
- etc...
Installation ¶
Yii2-app template can be installed using composer. Run following command to download and install Yii2-app:
composer create-project --prefer-dist akiraz2/yii2-app my-site
After installation run init
Docker ¶
Install yii2-app using Docker:
0. run command to create project
docker run --rm --interactive --tty \
--volume $PWD:/app \
--volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
composer create-project --prefer-dist akiraz2/yii2-app my-site
- copy
.env-dist
to.env
, configure if needed. You can change DB from mysql to postgresql - just change docker-compose.yml (and common/config/main-local.php after init) - copy
/mysql/docker-entrypoint-initdb.d/createdb.sql.example
tocreatedb.sql
if you have ready DB (so dont run migrations) docker-compose build
(you can configure Docker PHP in /php/Dockerfile-debian before building, for example, add mongodb)docker-compose up -d
docker-compose exec php bash
, in terminal runcomposer install
, thenphp init
, then run other migrations (see next)- open http://localhost:8100 to test frontend (backend is on http://localhost:8200)
Access to Console App: docker-compose exec php bash
and php yii mycommand/action
Migrations ¶
NOTE: Make sure that you have properly configured
db
application component and run the following command
php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
php yii migrate --migrationPath=@yii/log/migrations/
php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-queuemanager/migrations/
php yii migrate/up
Default User Credentials ¶
login: adminus
password: adminus
Web server config ¶
For newbies, I will recommend reading these instructions yiisoft/yii2-app-advanced/start-installation.md (apache, nginx, etc\hosts
Development ¶
Messages ¶
Change in common/config/main.php
'language' => 'ru-RU',
'sourceLanguage' => 'en-US',
Add your language in common/messages/config.php
`
'languages' => [
'ru-RU',
],
In shell
php yii message/extract common/messages/config.php
`
Support ¶
If you have any questions or problems with Yii2-App you can ask them directly
by using following email address: akiraz@bk.ru
.
Contributing ¶
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome. +PSR-2 style coding.
I can apply patch, PR in 2-3 days! If not, please write me akiraz@bk.ru
Licensing ¶
Yii2-App is released under the BSD License. See the bundled LICENSE.md for details.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.