- Landing: extract 513-line monolith into 12 focused section components (Hero, StatsBand, FeatureGrid, HowItWorks, LivePreview, Comparison, UseCases, Testimonials, Pricing, FAQ, FinalCTA, TrustBar) - Auth pages: replace flat orange panel with animated live mock (real persona SVGs, typewriter messages, theme bars); Login label fixed to "Email or username"; Register wires ?plan= badge - Brand: new Logo SVG (C-arc + 3 figures + wordmark/tagline), expanded palette tokens, fluid display type scale, framer-motion shared variants - Header: scroll progress bar, removed non-functional language pill - Footer: fixed all dead links, legal stubs, new logo - Legal: /about /privacy /terms /cookies /gdpr real pages added - Email: FROM_EMAIL default fixed to noreply@ai-impress.com (verified apex domain), HTML template rewritten to match new brand - Tooling: Playwright screenshot script for visual self-check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
1.3 KiB
Text
Executable file
33 lines
1.3 KiB
Text
Executable file
# MongoDB Configuration
|
|
MONGO_URI=mongodb://localhost:27017/cohorta_db
|
|
|
|
# MongoDB auth (uncomment if your MongoDB requires authentication)
|
|
# MONGO_USER=admin
|
|
# MONGO_PASS=password
|
|
|
|
# App settings — DEBUG must be 0 in production
|
|
DEBUG=0
|
|
# Generate with: python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
SECRET_KEY=REPLACE_WITH_RANDOM_SECRET
|
|
JWT_SECRET_KEY=REPLACE_WITH_RANDOM_SECRET
|
|
|
|
# Azure AI Foundry — base URL ending at /v1/ (do NOT include the operation path)
|
|
# Example: https://<project>.services.ai.azure.com/api/projects/<name>/openai/v1/
|
|
AZURE_AI_ENDPOINT=REPLACE_WITH_AZURE_ENDPOINT
|
|
AZURE_AI_API_KEY=REPLACE_WITH_AZURE_KEY
|
|
# Optional: override deployed model names (defaults below match the Foundry deployments)
|
|
AZURE_AI_MODEL_MAIN=gpt-5.4
|
|
AZURE_AI_MODEL_MINI=gpt-5.4-mini
|
|
|
|
# Resend transactional email (sign up at resend.com, verify ai-impress.com as sender domain)
|
|
# Make sure EMAIL_FROM uses the apex domain that's verified in Resend, NOT a subdomain.
|
|
RESEND_API_KEY=REPLACE_WITH_RESEND_API_KEY
|
|
EMAIL_FROM=Cohorta <noreply@ai-impress.com>
|
|
APP_URL=https://cohorta.ai-impress.com
|
|
|
|
# CORS — comma-separated allowed origins
|
|
CORS_ALLOWED_ORIGINS=https://cohorta.ai-impress.com
|
|
|
|
# Stripe (get from dashboard.stripe.com — use test keys locally)
|
|
STRIPE_SECRET_KEY=REPLACE_WITH_STRIPE_SECRET_KEY
|
|
STRIPE_WEBHOOK_SECRET=REPLACE_WITH_STRIPE_WEBHOOK_SECRET
|