Заготовка для старта проектов на Symfony 7, PHP 8.4, Posgres 17
Проект имеет модульную архитектуру, что позволяет каждый модуль реализовывать индивидуально. Модули разделены согласно своему контексту и должны иметь слабые связи между собой (low coupling).
Логика CRUD-модулей ограничена простыми операциями с данными, что упрощает их реализацию.
- Infrastructure - инфраструктура
- Article - статьи как пример CRUD-модуля
- Mailer - отправка электронной почты
- Ping - пинг приложения
- SEO - SEO модуль
- Setting - настройки приложения
- Task - todo-лист как пример модуля с богатой логикой
- User - пользователи
- Maker - генератор простых CRUD модулей
git clone git@github.com:15web/symfony-starter-kit.git your-folder-name
cd ./your-folder-name/
make init
Порты настраиваются в файле ./.env
После настройки портов запустить make up
Документация OpenAPI доступна по адресу (порт указывать из .env) http://localhost:8088/docs
Исходник OpenAPI документации проекта
Тестирование писем http://localhost:8088/mailhog
Все инструменты по проверке кода и тесты вынесены в отдельную папку src-dev. Это позволяет легко исключить ее из деплоя на production.
Запуск проверок:
make checkПоказать список доступных команд:
make helpДля старта проекта необходимо удалить ненужные:
- Модули, т.е. все директории в
backend/src, кромеInfrastructure - Тесты из директорий:
backend/tests/Commandbackend/tests/Functional, кромеbackend/tests/Functional/SDK/ApiWebTestCase.phpbackend/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.
