- PHP 61.1%
- Twig 19.5%
- JavaScript 9.5%
- HTML 3.7%
- CSS 2.5%
- Other 3.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .kilocode/rules | ||
| assets | ||
| bin | ||
| config | ||
| docker | ||
| docs | ||
| migrations | ||
| onepage_code | ||
| public | ||
| src | ||
| templates | ||
| tests | ||
| translations | ||
| .dockerignore | ||
| .env.docker.example | ||
| .env.example | ||
| .env.prod | ||
| .gitattributes | ||
| .gitignore | ||
| .user.ini | ||
| BagiraZooVet_AdminKit_UI_Audit_Roadmap.md | ||
| BagiraZooVet_Technical_Architecture_UI_UX_Audit.md | ||
| compose.yaml | ||
| composer.json | ||
| composer.lock | ||
| context.md | ||
| DOCKER.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml.dist | ||
| postcss.config.js | ||
| README.md | ||
| symfony.lock | ||
| webpack.config.js | ||
BagiraZooVet
The operator-authorized native FastPanel deployment on bagirazoovet.dp.ua is documented in 2026-10-05 deployment evidence. Historical phase handoff blockers below are implementation-time evidence; the deployment report states exactly what was exercised and what remains unqualified.
For the migrated Windows/Docker development environment, see DOCKER.md.
Symfony/Doctrine/Twig veterinary CRM with an AdminKit staff interface, owner portal and public Ukrainian CMS. Phases 00–24 have local implementation/evidence; production release is blocked pending the explicit gates below. No deployment or canonical database migration was performed.
Start with release handoff, 58 finding dispositions, phase evidence, architecture and role boundaries, and operations/recovery. Earlier setup/evidence is retained as history.
Supported local baseline
Executed: PHP 8.3.6, Composer 2.9.2, Node 22.22.3/npm 10.9.8 and local MySQL 8.0.46. Locked: Symfony framework-bundle 7.4.20, Doctrine ORM 3.5.2/DBAL 3.10.6, Twig 3.30.0. PHP requirement is >=8.2; Node >=22 <23, npm >=10 <11. Use the locks, not a framework-wide version guess. Required PHP extensions are declared in composer.json; composer check-platform-reqs is authoritative for the full installed graph.
Clean setup
Use an isolated fresh checkout and operator-approved empty/disposable local database. Preserve existing .env*, database and files. .env.example contains placeholders only; a clean checkout requires .env before application boot. Supply existing approved connection/configuration privately in .env.local or process settings. Never put real values in source or command-line URLs.
test -e .env || cp .env.example .env
composer install --no-interaction --no-scripts --prefer-dist
composer check-platform-reqs
npm ci --no-audit --no-fund
npm run build
Only after verifying the actual authorized database and correct environment, run the reviewed migrations in that isolated destination and then composer run-script auto-scripts. Do not run doctrine:database:create, doctrine:schema:update --force or migrations against a pre-existing/canonical database as a setup shortcut. Main migrations and clinical/file backfill require their own approval and coherent recovery point. The tested migration chain supports an empty local schema; the upgrade rehearsal preserved synthetic phase-14 CMS rows.
Local release checks
The existing approved fixture database is bagira_phase01_test. The guarded runner derives its local connection privately from existing env, checks configuration/host/SELECT DATABASE(), forces APP_ENV=test, null mailer and indexing off. Tests replace disposable fixtures; they are never a production probe. Do not repoint this runner to another database to bypass its guard.
php tests/Release/run.php
php tests/Release/run.php --console lint:yaml config
php tests/Release/run.php --console lint:twig templates
php tests/Release/run.php --console lint:container
php tests/Release/run.php --console debug:router
php tests/Release/run.php --console doctrine:schema:validate
php tests/Release/run.php --console doctrine:migrations:status
The final full run passed 326 tests / 4591 assertions but exited 1 under the existing deprecation policy. Dependency/build scans also retain blockers; do not suppress checks to obtain green output. Real Chrome fixture verification is separate from HTTP/PHPUnit tests; see handoff for exact coverage, reproducibility and missing live/device/PDF evidence.
Deployment, workers and rollback
Use operations.env.example as a private process-setting inventory, not replacement local env. Operations documents approved release preparation, coherent SQL/private-file/queue snapshots, worker supervision, recovery and compatible rollback. SEO/indexing operations cover canonical origin, additive slug/outbox migration and opt-in indexing. Templates are uninstalled. Keep mail/indexing disabled until provider/key/origin and delivery are approved.
Production requires G1–G7 in handoff: migration/storage approval, build-chain advisories/deprecations, valid PDF rendering, infrastructure/recovery/mail evidence, business/indexing confirmation, real-device/live browser tests and CI status. Roll back compatible code with additive schema/evidence retained; never blindly run down migrations or restore stale tokens/queue jobs.