Разработку можно вести на любой операционной системе, поддерживающей docker. Так же должен быть установлен Git. Рекомендуемые версии:
> docker --version
Docker version 20.10.5
> docker-compose --version
docker-compose version 1.28.5
> git --version
git version 2.31.0
- Сделать git clone данного репозитория и открыть в терминале директорию проект
- Создать в корне проекта файл
.env.local
в котором будут храниться переменные для локального окружения - Добавить в
.env.local
переменную окруженияDATABASE_URL
для доступа к базе данных. Проект поддерживает СУБД PostgreSQL или MySQL.- (PostgreSQL)
DATABASE_URL=postgresql://self-control-diary:self-control-diary@postgres:5432/self-control-diary?serverVersion=12&charset=utf8
- (MySQL)
DATABASE_URL=mysql://self-control-diary:self-control-diary@mysql:3306/self-control-diary?serverVersion=5.7
- (PostgreSQL)
- Выполнить команду
docker-compose up -d
(при первом запуске может потребоваться продолжительное время для скачивания необходимых зависимостей) - Зайти в командную строку в docker контейнере
docker exec -it -u www-data self-control-diary_php-fpm_1 bash
- (docker) Установить зависимости из composer.json
composer install
- (docker) Создать пустую базу данных в выбранной СУБД, накатить миграции
composer run-script recreate-db
- (docker) Запустить тесты
composer run-script test
- (docker) Не забыть выйти из docker контейнера
exit
- Подтянуть в свою ветку свежий master (при необходимости).
- Исправить конфликты между своей веткой и master (если есть).
- Прогнать проверку code style командой
composer run-script fix-cs
, если найдены недочеты, то сделать коммит с исправлениями. - Прогнать тесты при помощи
composer run-script test
. Если тесты "упали", то сделать коммит и исправлениями, после чего заново прогнать тесты. - Сделать git push и создать Pull Request.
- (docker) накатить фикстуры
composer run-script fixtures-load
- Выполнять запросы при помощи встроенного в PHP Storm HTTP клиента, смотри папку http-requests