Barclays-banner-builder/backend
Vadym Samoilenko 7e55caf1bd Align with Barclays banner spec: Medium/Large types, cta_secondary, icon fix
Per Marketing Banner Specs PDF:
- Aspect ratios changed from IAB web sizes to 'Medium' (4:3) and 'Large' (16:9)
- Medium limits: title ≤32, body ≤64; Large limits: title ≤64, body ≤128
- Add cta_secondary field: Large banners support dual CTA (Primary + Secondary)
- Migration 0003: ALTER TABLE banner_variants ADD COLUMN cta_secondary
- copy_generation: per-type limits in prompt, cta_secondary in JSON schema
- BannerEditor: correct preview dimensions (312x234 Medium, 312x175 Large)
- BannerEditor preview shows Secondary CTA button
- VariantsGrid: shows correct limits per type, editable cta_secondary for Large
- Fix icon update: convert icon_id string → UUID before setattr

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 14:14:29 +01:00
..
alembic Align with Barclays banner spec: Medium/Large types, cta_secondary, icon fix 2026-04-17 14:14:29 +01:00
app Align with Barclays banner spec: Medium/Large types, cta_secondary, icon fix 2026-04-17 14:14:29 +01:00
scripts Replace passlib with bcrypt directly — passlib incompatible with bcrypt>=4.0 2026-04-17 12:15:06 +01:00
alembic.ini Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
Dockerfile Fix Docker build: hatchling can't find app package before COPY 2026-04-17 12:08:40 +01:00
pyproject.toml Replace passlib with bcrypt directly — passlib incompatible with bcrypt>=4.0 2026-04-17 12:15:06 +01:00