2017 © Pedro Peláez
 

project yii2-app

Yii2 my advanced project template (Redis-cache, DB-queue, gentelella-admin, dektrium-user, DB-log)

image

akiraz2/yii2-app

Yii2 my advanced project template (Redis-cache, DB-queue, gentelella-admin, dektrium-user, DB-log)

  • Friday, July 27, 2018
  • by akiraz2
  • Repository
  • 5 Watchers
  • 23 Stars
  • 181 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 1 Open issues
  • 13 Versions
  • 71 % Grown

The README.md

Yii2 Fast Simple Advanced App Packagist Version Total Downloads

Yii2-app is Fast and Ready-to-production advanced project template., (*1)

Dockerized, for development (mysql, nginx, php-fpm), (*2)

Please, enable php intl extension for better work., (*3)

Default, the template includes three tiers: frontend, backend, and console, each of which is a separate Yii application., (*4)

NOTE: Template is in initial development. Anything may change at any time., (*5)

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, password adminus)
  • 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 in common/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:
  1. added yii2-queue Jobs generator
  2. yii2 migration generator (from existing table) Insolita/yii2-migrik
  3. schmunk42/yii2-giiant - really steroid, but in development with bugs

Available modules

These modules can be easy installed to Yii2-App using Composer:, (*6)

Installation

Yii2-app template can be installed using composer. Run following command to download and install Yii2-app:, (*7)

composer create-project --prefer-dist akiraz2/yii2-app my-site

After installation run init, (*8)

Docker

Install yii2-app using Docker:, (*9)

  1. 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
  1. 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)
  2. copy /mysql/docker-entrypoint-initdb.d/createdb.sql.example to createdb.sql if you have ready DB (so dont run migrations)
  3. docker-compose build (you can configure Docker PHP in /php/Dockerfile-debian before building, for example, add mongodb)
  4. docker-compose up -d
  5. docker-compose exec php bash, in terminal run composer install, then php init, then run other migrations (see next)
  6. 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, (*10)

Migrations

NOTE: Make sure that you have properly configured db application component and run the following command, (*11)

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, (*12)

Web server config

For newbies, I will recommend reading these instructions yiisoft/yii2-app-advanced/start-installation.md (apache, nginx, etc\hosts, (*13)

Development

Messages

Change in common/config/main.php, (*14)

'language' => 'ru-RU',
'sourceLanguage' => 'en-US',

Add your language in common/messages/config.php, (*15)

    'languages' => [
        'ru-RU',
    ],

In shell, (*16)

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., (*17)

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., (*18)

I can apply patch, PR in 2-3 days! If not, please write me akiraz@bk.ru, (*19)

Licensing

Yii2-App is released under the BSD License. See the bundled LICENSE.md for details., (*20)

The Versions