feat: Add CHORUS teaser website with mobile-responsive design

- Created complete Next.js 15 teaser website with CHORUS brand styling
- Implemented mobile-responsive 3D logo (128px mobile, 512px desktop)
- Added proper Exo font loading via Next.js Google Fonts for iOS/Chrome compatibility
- Built comprehensive early access form with GDPR compliance and rate limiting
- Integrated PostgreSQL database with complete schema for lead capture
- Added scroll indicators that auto-hide when scrolling begins
- Optimized mobile modal forms with proper scrolling and submit button access
- Deployed via Docker Swarm with Traefik SSL termination at chorus.services
- Includes database migrations, consent tracking, and email notifications

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
tony
2025-08-26 13:57:30 +10:00
parent 630d1c26ad
commit c8fb816775
236 changed files with 17525 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# Database Setup for CHORUS Teaser Website
version: '3.8'
services:
teaser-postgres:
image: postgres:15-alpine
deploy:
replicas: 1
placement:
constraints:
- node.hostname == walnut
resources:
limits:
memory: 256M
reservations:
memory: 128M
environment:
- POSTGRES_DB=chorus_website
- POSTGRES_USER=chorus
- POSTGRES_PASSWORD=choruspass
volumes:
- teaser_postgres_data:/var/lib/postgresql/data
- /home/tony/chorus/project-queues/active/chorus.services/init-db.sql:/docker-entrypoint-initdb.d/init-db.sql:ro
- /home/tony/chorus/project-queues/active/chorus.services/modules/teaser/database/01-schema.sql:/docker-entrypoint-initdb.d/02-teaser-schema.sql:ro
- /home/tony/chorus/project-queues/active/chorus.services/modules/teaser/database/02-add_teaser_lead_sources.sql:/docker-entrypoint-initdb.d/03-teaser-lead-sources.sql:ro
networks:
- chorus_website_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U chorus -d chorus_website"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
volumes:
teaser_postgres_data:
driver: local
networks:
chorus_website_network:
driver: overlay
attachable: true