iv660/k-gorod-demo

Demo application for KGorod.

v3.1.1 2019-05-31 13:48 UTC

This package is auto-updated.

Last update: 2024-04-29 04:13:27 UTC


README

Демонстрационное приложение KGorodDemo.

Включает в себя три независимых приложения Yii2, использующих общую кодовую базу.

  1. frontend представляет каталог книг, поддерживающий постраничную навигацию и реализованный с использованием ReactJS.

Пример работы: https://php7.docwriter.ru/k-gorod/frontend/web/

  1. backend включает в себя панель администратора. Позволяет просматривать список книг в каталоге, изменять их наименования и наименования глав. Построен с использованием встроенных механизмов Yii.

Пример работы: https://php7.docwriter.ru/k-gorod/backend/web/

  1. api предоставляет открытый (не требующий авторизации) RESTful API для доступа к списку книг в каталоге. Используется для работы приложения frontend.

В рамках данного проекта также функционирует приложение console, обеспечивающее доступ к стандартным функциям управления приложением Yii2, таким как миграции, посредством интерфейса командной строки.

Пример работы: https://php7.docwriter.ru/k-gorod/api/web/api/v1/books/

УСТАНОВКА

  1. php composer.phar create-project --prefer-dist --stability=dev iv660/k-gorod-demo
  2. php init
  3. Настроить базу данных и (при необходимости) конечную точку API в common/config/main-local.php
  4. php yii migrate

ОБЗОР ФУНКЦИЙ ПРИЛОЖЕНИЯ

При разработке данного приложения использованы следующие возможности фреймворка Yii2.

  • Конфигурационные файлы для настройки всех параметров приложения. Конфиденциальные данные, такие как данные учетных записей, размещены в файлах config/*-local.php, не входящих в пакет поставки приложения. Настройте данные параметры самостоятельно в соответствии с параметрами вашей среды.
  • MVC. Все компоненты приложения реализованы в соответствии с принятой в Yii2 реализацией шаблона проектирования MVC.
  • ActiveForm для работы с формами.
  • Валидаторы. Для проверки данных, вводимых пользователем, используются встроенные валидаторы.
  • AccessControl для разграничения доступа к панели управления.
  • Миграции. Для построения схемы данных используется стандартный механизм миграций Yii2. После установки и настойки пакета выполните команду yii migrate в консоли. При выполнении миграций также устанавливаются демонстрационные данные. Все миграции поддерживают откаты (yii migrate/down).
  • Префиксы таблиц БД. В приложении поддерживается возможность задавать префиксы таблиц базы данных. Для этой цели используется параметр tablePrefix компонента db. Механизм префиксов позволяет избежать конфликтов при использовании одной базы данных для работы нескольких различных приложений.
  • Совместимость БД. Приложение обеспечивает возможность работы с различными типами серверов баз данных. Проверено на совместимость с MySQL и PostgreSQL.
  • Локализация (i18n) для всех элементов пользовательского интерфейса, реализованных в ходе выполнения этого проекта (локализация стандартных элементов интерфейса, входящих в стандартный пакет установки Yii2, а также статичных документов, не производилась).
  • URL. Для формирования URL на основе алиасов использовался стандартный хелпер.
  • Gii для автоматизированного формирования кода приложения.
  • Автоматизация. Для формирования языковых файлов и миграций использовались встроенные в Yii2 средства автоматизации (yii migrate/create, yii message).
  • REST API. Выполнен в виде отдельного приложения api. Используется для динамического формирования списка книг (см. ниже). Конечная точка API: https://your_api_server/api/v1/books
  • ReactJS. Формирование списка книг с навигацией по страницам на фронт-энде приложения.
  • Composer. Возможна установка и обновление приложения из стандартного репоизтория Composer Packagist.
  • Github. Исходный код проекта доступен на https://github.com/iv660/k-gorod-demo/