README.md

aki23-server-app

Описание

Приложение - Аггрегатор площадок и услуг креативных индустрий Москвы.

Приложение состоит из нескольких пакетов, каждый из которых реализует часть логики для решения задачи. Пакеты нахоятся в отдельных репозиториях. Данный пакет подключает и композирует все прочие, а так-же собирает из них готовое приложение с помощью фреймворка yii2. Полный список компонентов будет описан ниже.

Репозиторий содержит все необходимые исходные файлы и зависимости для запуска приложения.

Требования

  1. PHP >=7.4
  2. Composer >=2.0
  3. Apache или NGINX server

или

  1. Docker engine v 4.0+
  2. Docker-compose

Установка

Apache+PHP

  1. Скопируйте файлы проекта в публичную папку сервера
  2. Выполните в терминале команду composer update
    1. Выполните в терминале команду chmod 755 yii
  3. Выполните в терминале команду chmod 777 web && chmod 777 web/*
  4. Выполните в терминале команду mkdir runtime || mkdir runtime/cache || chmod 777 runtime || chmode 777 runtime/*
  5. Укажите в файле /config/components/db/prod.db корректные данные для подключения к БД

Docker compose

  1. Скопируйте файлы проекта в целевую папку
  2. Выполните в терминале команду docker-compose run --rm php composer install
  3. Выполните в терминале команду chmod 755 yii
  4. Выполните в терминале команду chmod 777 web && chmod 777 web/*
  5. Выполните в терминале команду mkdir runtime || mkdir runtime/cache || chmod 777 runtime || chmode 777 runtime/*
  6. Запустите контейнер коммандой docker-compose up -d
  7. Выполните в терминале команду docker-compose run php ./yii init/docker
  8. Выполните в терминале команду docker-compose run php ./yii migrate --interactive=0
  9. Выполните в терминале команду docker-compose run php ./yii init/seed-all

Общий список компонентов приложения:

Презентер каталога

https://bitbucket.org/pantagruel74/aki23-catalogue-presenter/ Компонент для рендеринга экранов каталога и фильтров, как в короткой версии на главной странице, так и в полной версии на странице Каталога. Включает логику работы фильтров, необходимые скрипты и стили. Включает среду для приемочного тестирования компонента.

Презентер личного кабинета арендодателя

https://bitbucket.org/pantagruel74/aki23-platform-lk-presenter/ Компонент для рендеринга экранов и форм личного кабинета Арендодателя. Содержит логику отправки, валидации и применения форм настройки креативной-площадки. Включает среду для приемочного тестирования компонента.

Презентер личного кабинета арендатора

https://bitbucket.org/pantagruel74/aki23-customer-lk-presenter/ Компонент для рендеринга экранов и форм личного кабинета Арендатора. Содержит логику отправки, валидации и применения форм настройки данных пользователя. Включает среду для приемочного тестирования компонента.

Презентер логина/регистраций

https://bitbucket.org/pantagruel74/aki23-login-presenter/ Компонент для рендеринга экранов и форм входа в личный кабинет, а так-же регистрации как в качестве арендодателя, так и в качестве арендатора. Содержит логику отправки, валидации и применения форм. Включает среду для приемочного тестирования компонента.

Набор общих ассетов

https://bitbucket.org/pantagruel74/aki23-main-assets/ Пакет содержит общие компоненты, стили, js-скрипты и шаблоны, задающих стиль приложения, оформленные в пакеты, для быстрого подключения к фреймворку yii2.

Презентер презетационной страницы площадки

https://bitbucket.org/pantagruel74/aki23-platform-title-presenter/ Компонент для рендеринга экрана презентационной страницы площадки, и сопутствующую логику. Включает среду для приемочного тестирования компонента.

Компонент расписания

https://bitbucket.org/pantagruel74/aki23-schedule-component/ Компонент хранящий бизнес-логику связанную с расписанием и алгеброй дат, а так-же принятием решений по статусам заявок и броней. Включает юнит-тесты.

Презентер расписания

https://bitbucket.org/pantagruel74/aki23-schedule-presenter/ Компонент для рендеринга расписания броней в виде календаря, и логику и скрипты для его работы. Включает среду для приемочного тестирования компонента.

Пакет с трейтами строгой проверки

https://bitbucket.org/pantagruel74/aki23-strictly-traits/ Содержит адаптацию пакета pantagruel74/strictly-traits для нужд проекта. Включает юнит-тесты.

Пакет с валидаторами

https://bitbucket.org/pantagruel74/aki23-validators/ Содержит набор валидаторов для нужд проекта. Включает юнит-тесты.

Структура каталогов текущего пакета

  • / общие настройки и конфигурации пакета, CLI-runner
  • /app, /config - Классы и настройки для работы приложения на фреймворке yii2
  • /components - Вспомогательные и технические компоненты для работы с БД, мню и роутами, выполняющие контракты основных компонентов: презентеров и компонентов с бизнес-логикой
  • /init - Данные для инициализации приложения: миграции, хелперы, сидеры
  • /runtime - временные файлы, создаваемые фреймворком
  • /web - публичная папка приложения приемочного тестирования

Лицензия

Проект выполен для конкурса “Лидеры цифровой трансформации 2023”

Авторы

  • Анатолий Стародубцев tostar74@mail.ru
  • Паршаков Павел styud@yandex.ru
  • Анна Шкаруба https://t.me/annashkaruba
Конвейеры
0 успешных
0 с ошибкой