Заготовка для старта проектов на Symfony 7, PHP 8.3, Posgres 17
Проект имеет модульную архитектуру, что позволяет каждый модуль реализовывать индивидуально. Модули разделены согласно своему контексту и должны иметь слабые связи между собой (low coupling).
Логика CRUD-модулей ограничена простыми операциями с данными, что упрощает их реализацию.
- Infrastructure - инфраструктура
- Article - статьи как пример CRUD-модуля
- Mailer - отправка электронной почты
- Ping - пинг приложения
- SEO - SEO модуль
- Setting - настройки приложения
- Task - todo-лист как пример модуля с богатой логикой
- User - пользователи
- Maker - генератор простых CRUD модулей
git clone [email protected]:15web/symfony-starter-kit.git your-folder-name
cd ./your-folder-name/
make init
Порты настраиваются в файле ./.env
После настройки портов запустить make init
Документация OpenAPI доступна по адресу http://localhost:8088/docs
Исходник OpenAPI документации проекта
Тестирование писем http://localhost:8088/mailhog
Все инструменты по проверке кода и тесты вынесены в отдельную папку src-dev. Это позволяет легко исключить ее из деплоя на production.
Запуск проверок:
make check
Показать список доступных команд:
make help
Для старта проекта необходимо удалить ненужные:
- Модули, т.е. все директории в
backend/src
, кромеInfrastructure
- Тесты из директорий:
backend/tests/Command
backend/tests/Functional
, кромеbackend/tests/Functional/SDK/ApiWebTestCase.php
backend/tests/Unit
- Все миграции из директории
backend/migrations
и сгенерировать новые. - Переменные окружения из файла
docker/backend/.env.dist
- Разделы документации из файла
backend/src-dev/openapi.yaml
- Слои и правила
deptrac
из файлаbackend/src-dev/deptrac.yaml
- Убрать секцию
paths
в конфигеtwig
из файлаbackend/config/packages/twig.yaml
Copyright © Studio 15, 2012 - Present.
Code released under the MIT license.
We use BrowserStack for cross browser testing.