dezmont765/yii2-rbac-advanced-template

Yii 2 Advanced Application Template With Rbac

0.0.7 2015-09-15 11:34 UTC

This package is not auto-updated.

Last update: 2024-04-13 14:34:39 UTC


README

yii2-advanced-template-rbac is based on yii2-app-advanced created by yii2 core developers. There are several upgrades made to this template.

The template includes three tiers: front end, back end, and console, each of which is a separate Yii application.

The template is designed to work in a team development environment. It supports deploying the application in different environments.

Also it includes nice user management system in backend, and custom layout system.

DIRECTORY STRUCTURE

common
    config/              contains shared configurations
    mail/                contains view files for e-mails
    models/              contains model classes used in both backend and frontend
console
    config/              contains console configurations
    controllers/         contains console controllers (commands)
    migrations/          contains database migrations
    models/              contains console-specific model classes
    runtime/             contains files generated during runtime
backend
    assets/              contains application assets such as JavaScript and CSS
    config/              contains backend configurations
    controllers/         contains Web controller classes
    models/              contains backend-specific model classes
    runtime/             contains files generated during runtime
    views/               contains view files for the Web application
    web/                 contains the entry script and Web resources
frontend
    assets/              contains application assets such as JavaScript and CSS
    config/              contains frontend configurations
    controllers/         contains Web controller classes
    models/              contains frontend-specific model classes
    runtime/             contains files generated during runtime
    views/               contains view files for the Web application
    web/                 contains the entry script and Web resources
    widgets/             contains frontend widgets
vendor/                  contains dependent 3rd-party packages
environments/            contains environment-based overrides
tests                    contains various tests for the advanced application
    codeception/         contains tests developed with Codeception PHP Testing Framework

REQUIREMENTS

The minimum requirement by this application template that your Web server supports PHP 5.4.0.

INSTALLATION

Install via Composer

If you do not have Composer, you may install it by following the instructions at getcomposer.org.

You can then install the application using the following command:

php composer.phar global require "fxp/composer-asset-plugin:1.1.2" php
composer.phar create-project --prefer-dist dezmont765/yii2-rbac-advanced-template

GETTING STARTED

After you install the application, you have to conduct the following steps to initialize the installed application. You only need to do these once for all.

  1. Run command php init to initialize the application with a specific environment.
  2. Create a new database and adjust the components['db'] configuration in common/config/common-local.php accordingly.
  3. Apply migrations with console command: php yii migrate. This will create tables needed for the application to work;
  4. Run command php yii rbac/init to install necessary RBAC rules in DB
  5. Set document roots of your Web server:
  • for frontend /path/to/yii-application/frontend/web/ and using the URL http://frontend/
  • for backend /path/to/yii-application/backend/web/ and using the URL http://backend/

If you want to use the application you'll need to register in the system using frontend user interface. You can register into the system using any valid email address and any password.

There are 3 types of users available for you in system: super_admin, admin and user. This types of users can be simply changed by editing the role field in user table, or via admin user interface in backend.

When you register the first user in the system, his role is set to user by default. Notice that user have no access to backend, so you'll have to change his role to admin or super_admin in the DB manually. Once, you enter the backend, you will see a simple but powerful user-management page where you can CRUD users, as you wish.Also there you can find Manage Email Templates page, where you can create your own email templates, and then simply use it, like static email templates:

Yii:$app->mailer->composer('your_email_template_name',$params) .

See "email-verification" template for example .