← Projects

Doctor Bethowen

Veterinary-services website on Symfony DDD+CQRS and FrankenPHP

Problem
A veterinary clinic needed to move away from a compromised WordPress site to a safer, editable and extensible platform: preserve legacy SEO value, give editors control over content, and prepare the foundation for bookings, pet profiles and future integrations.
What I built
I designed a modular monolith on Symfony 7.4 LTS and PHP 8.5: Site, Lead, Clinic, Catalog, Page, Seo and Admin contexts, DDD layers and CQRS through three Symfony Messenger buses. I built Twig SSR for indexable service, program, clinic, specialist and static pages; added EasyAdmin for editors, a lead form with email notifications, and idempotent content seeds imported from the old WordPress dump. Production runs on FrankenPHP/Caddy worker mode, PostgreSQL 16, Doctrine ORM 3, Docker Compose and a deploy script.
Result
The result is a modern services website with public SSR pages, an admin panel and a strong SEO/GEO foundation: canonical/meta/OG, JSON-LD for the organization, clinics, doctors, services and breadcrumbs, sitemap.xml, robots.txt, cookie consent for Yandex Metrica and 301 redirects from legacy WordPress URLs.
Homepage: clinic services, appointment booking, house call and bonus program
Services and prices: grouped price list on an SEO-friendly SSR page
Specialists: doctor cards, detail pages and structured data
Contacts and locations: local clinic pages for GEO and appointment flow