Проект: Интернет-магазин VVintage Функционал: каталог товаров, блог, корзина, избранное, локализация, простая админ-панель.
Работа с базоый данных: Readbean ORM
Структура проекта:
View — шаблоны страниц, включая подпапку admin для панели администратора.
src — бизнес-логика и классы приложения.
Router определяет маршрут и вызывает соответствующий контроллер.
Controller обрабатывает запрос, вызывает нужный сервис и передает данные в шаблон.
Service содержит бизнес-логику и работает с репозиториями, моделями, DTO и другими сервисами. Каждый сервис наследуется от базового для доступа к текущему языку, SEO, валидации, сессиям, локали и флэш-сообщениям.
Model описывает сущности (пользователь, заказ, бренд, категория) и их свойства.
Repository работает с базой данных. Каждый репозиторий имеет константу TABLE и методы поиска и получения данных.
Contract — интерфейсы, описывающие обязательные методы репозиториев.
DTO — простые классы для представления сущностей на разных уровнях (например, товар в каталоге и на странице).
Admin — отдельные контроллеры и сервисы для административной части.
Store — хранение корзины и избранного для авторизованных и неавторизованных пользователей.
Lang — переводы для Symfony Translator.
Config — общие настройки проекта.


