ppt-tool/.env.example
Vadym Samoilenko c431d4ab45 Implement critical security fixes and modern design system (Pre-launch P0 tasks)
Security Improvements (P0.0-P0.4):
- P0.0: Migrate to Gemini-only AI stack (simplified, single billing)
- P0.1: Fix CORS to restrict allowed origins from env (was *)
- P0.2: Remove hardcoded dev password, require env var
- P0.3: Add rate limiting (slowapi) - 3-10 req/min on sensitive endpoints
- P0.4: Add request size limits (100MB default via middleware)

New Features:
- Unified LLM service with Google Gemini priority
- OXML geometry extractor for layout parsing
- TSX validator for generated React components
- Client ID support in presentation requests with access control
- Configurable LLM/image timeouts via env vars

Modern Design System (P0.9 - partial):
- Enhanced CSS design tokens (primary, semantic colors, shadows)
- Typography scale (h1-h4, body variants, caption)
- Modern animations (fadeIn, slideIn, scaleIn)
- Updated Button component with better variants and hover effects
- Created unified Card and StatusBadge components
- Applied design system to Dashboard and Settings pages

Backend Improvements:
- Master deck parser simplification
- Slide-to-HTML endpoint cleanup (325 lines removed)
- Better error handling in prompts endpoint

Frontend Improvements:
- Settings UI simplified to show only Google/Gemini
- Dashboard uses CSS variables instead of hardcoded colors
- Improved button transitions and hover states

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-02-27 18:28:24 +00:00

45 lines
1.3 KiB
Text

# Database
POSTGRES_PASSWORD=deckforge
# Redis
REDIS_URL=redis://redis:6379/0
# Azure AD Auth (leave blank to enable dev auth bypass)
AZURE_AD_TENANT_ID=
AZURE_AD_CLIENT_ID=
AZURE_AD_CLIENT_SECRET=
AZURE_AD_REDIRECT_URI=http://localhost/api/v1/auth/callback
# JWT
JWT_SECRET_KEY=change-me-to-a-random-256-bit-key
# Dev Auth (only used when AZURE_AD_TENANT_ID is not set)
# IMPORTANT: Change this to a strong password or use Azure AD instead
DEV_AUTH_PASSWORD=change-me-to-secure-password
# AI Provider — Google Gemini for all AI operations
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_MODEL=gemini-2.0-flash-exp
IMAGE_PROVIDER=gemini_flash
# Get your Google AI API key at: https://aistudio.google.com/app/apikey
# Gemini 2.0 Flash: Fast, cheap, great for text generation
# Gemini 3.1 Flash: Excellent vision model for image analysis
# Optional: Image fallback providers (if Gemini image gen fails)
PEXELS_API_KEY=
PIXABAY_API_KEY=
DISABLE_IMAGE_GENERATION=false
# App
APP_DATA_DIRECTORY=/app_data
TEMP_DIRECTORY=/tmp/deckforge
CAN_CHANGE_KEYS=false
DISABLE_ANONYMOUS_TRACKING=true
# Security
ALLOWED_ORIGINS=http://localhost:3000,http://localhost
# In production, set to: https://yourdomain.com,https://www.yourdomain.com
# Request size limit (in bytes, default 100MB = 104857600)
MAX_REQUEST_SIZE=104857600