aki23-server-app
Описание
Приложение - Аггрегатор площадок и услуг креативных индустрий Москвы.
Приложение состоит из нескольких пакетов, каждый из которых реализует часть логики для решения задачи. Пакеты нахоятся в отдельных репозиториях. Данный пакет подключает и композирует все прочие, а так-же собирает из них готовое приложение с помощью фреймворка yii2. Полный список компонентов будет описан ниже.
Репозиторий содержит все необходимые исходные файлы и зависимости для запуска приложения.
Требования
- PHP >=7.4
- Composer >=2.0
- Apache или NGINX server
или
- Docker engine v 4.0+
- Docker-compose
Установка
Apache+PHP
- Скопируйте файлы проекта в публичную папку сервера
- Выполните в терминале команду
composer update
-
- Выполните в терминале команду
chmod 755 yii
- Выполните в терминале команду
- Выполните в терминале команду
chmod 777 web && chmod 777 web/*
- Выполните в терминале команду
mkdir runtime || mkdir runtime/cache || chmod 777 runtime || chmode 777 runtime/*
- Укажите в файле /config/components/db/prod.db корректные данные для подключения к БД
Docker compose
- Скопируйте файлы проекта в целевую папку
- Выполните в терминале команду
docker-compose run --rm php composer install
- Выполните в терминале команду
chmod 755 yii
- Выполните в терминале команду
chmod 777 web && chmod 777 web/*
- Выполните в терминале команду
mkdir runtime || mkdir runtime/cache || chmod 777 runtime || chmode 777 runtime/*
- Запустите контейнер коммандой
docker-compose up -d
- Выполните в терминале команду
docker-compose run php ./yii init/docker
- Выполните в терминале команду
docker-compose run php ./yii migrate --interactive=0
- Выполните в терминале команду
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