🎓 Initial commit: Math2 Platform - Plataforma de Álgebra Lineal PRO
✨ Características: - 45 ejercicios universitarios (Basic → Advanced) - Renderizado LaTeX profesional - IA generativa (Z.ai/DashScope) - Docker 9 servicios - Tests 123/123 pasando - Seguridad enterprise (JWT, XSS, Rate limiting) 🐳 Infraestructura: - Next.js 14 + Node.js 20 - PostgreSQL 15 + Redis 7 - Docker Compose completo - Nginx + SSL ready 📚 Documentación: - 5 informes técnicos completos - README profesional - Scripts de deployment automatizados Estado: Producción lista ✅
This commit is contained in:
142
.env.example
Normal file
142
.env.example
Normal file
@@ -0,0 +1,142 @@
|
||||
# ============================================
|
||||
# EJEMPLO DE CONFIGURACIÓN - NO COMMITEAR VALORES REALES
|
||||
# ============================================
|
||||
# IMPORTANTE: Este archivo contiene solo placeholders.
|
||||
# NUNCA commitear archivos .env con credenciales reales a git.
|
||||
# ============================================
|
||||
# DATABASE CONFIGURATION
|
||||
# ============================================
|
||||
DATABASE_URL="postgresql://mathuser:CHANGE_THIS_PASSWORD@localhost:5432/mathdb?schema=public"
|
||||
DB_PASSWORD="CHANGE_THIS_PASSWORD"
|
||||
|
||||
# ============================================
|
||||
# REDIS CONFIGURATION
|
||||
# ============================================
|
||||
REDIS_HOST="localhost"
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=""
|
||||
REDIS_DB=0
|
||||
|
||||
# ============================================
|
||||
# AI / LLM CONFIGURATION (MiniMax-M2.5 - Aliyun DashScope)
|
||||
# ============================================
|
||||
AI_API_BASE_URL="https://coding-intl.dashscope.aliyuncs.com/v1"
|
||||
AI_API_KEY="your-dashscope-api-key-here"
|
||||
AI_MODEL="MiniMax-M2.5"
|
||||
AI_MAX_TOKENS=2000
|
||||
AI_TEMPERATURE=0.7
|
||||
|
||||
# ============================================
|
||||
# TELEGRAM CONFIGURATION (BACKEND ONLY)
|
||||
# ============================================
|
||||
TELEGRAM_BOT_TOKEN="your-telegram-bot-token-here"
|
||||
TELEGRAM_ADMIN_CHAT_ID="your-admin-chat-id-here"
|
||||
TELEGRAM_NOTIFICATIONS_ENABLED=true
|
||||
|
||||
# ============================================
|
||||
# JWT CONFIGURATION
|
||||
# ============================================
|
||||
JWT_SECRET="CHANGE_THIS_SECRET_IN_PRODUCTION"
|
||||
JWT_EXPIRES_IN="7d"
|
||||
JWT_REFRESH_EXPIRES_IN="30d"
|
||||
|
||||
# ============================================
|
||||
# APPLICATION CONFIGURATION
|
||||
# ============================================
|
||||
NODE_ENV="development"
|
||||
PORT=3001
|
||||
BACKEND_URL="http://localhost:3001"
|
||||
FRONTEND_URL="http://localhost:3000"
|
||||
|
||||
# ============================================
|
||||
# RATE LIMITING
|
||||
# ============================================
|
||||
RATE_LIMIT_WINDOW_MS=900000
|
||||
RATE_LIMIT_MAX_REQUESTS=100
|
||||
STRICT_RATE_LIMIT_MAX=5
|
||||
|
||||
# ============================================
|
||||
# FILE UPLOAD CONFIGURATION
|
||||
# ============================================
|
||||
MAX_FILE_SIZE_MB=10
|
||||
UPLOAD_DIR="./uploads"
|
||||
PDF_PROCESSING_DIR="./uploads/pdfs"
|
||||
|
||||
# ============================================
|
||||
# LOGGING CONFIGURATION
|
||||
# ============================================
|
||||
LOG_LEVEL="debug"
|
||||
LOG_DIR="./logs"
|
||||
ENABLE_QUERY_LOGGING=true
|
||||
|
||||
# ============================================
|
||||
# CACHE CONFIGURATION
|
||||
# ============================================
|
||||
CACHE_TTL_SECONDS=3600
|
||||
ENABLE_CACHE=true
|
||||
|
||||
# ============================================
|
||||
# SESSION CONFIGURATION
|
||||
# ============================================
|
||||
SESSION_SECRET="CHANGE_THIS_SESSION_SECRET"
|
||||
SESSION_MAX_AGE_MS=86400000
|
||||
|
||||
# ============================================
|
||||
# CORS CONFIGURATION
|
||||
# ============================================
|
||||
CORS_ORIGIN="http://localhost:3000"
|
||||
CORS_CREDENTIALS=true
|
||||
|
||||
# ============================================
|
||||
# PDF PROCESSING CONFIGURATION
|
||||
# ============================================
|
||||
PDF_CONCURRENCY=3
|
||||
PDF_TIMEOUT_MS=300000
|
||||
PDF_QUALITY="medium"
|
||||
|
||||
# ============================================
|
||||
# WORKER CONFIGURATION
|
||||
# ============================================
|
||||
WORKER_CONCURRENCY=3
|
||||
WORKER_MAX_JOBS_PER_WORKER=10
|
||||
WORKER_STUCK_TOKENS_THRESHOLD=10000
|
||||
WORKER_STUCK_INTERVAL=5000
|
||||
|
||||
# ============================================
|
||||
# NOTIFICATION CONFIGURATION
|
||||
# ============================================
|
||||
NOTIFICATION_RETRY_ATTEMPTS=3
|
||||
NOTIFICATION_RETRY_DELAY_MS=1000
|
||||
DAILY_SUMMARY_ENABLED=true
|
||||
DAILY_SUMMARY_TIME="00:00"
|
||||
|
||||
# ============================================
|
||||
# RANKING CONFIGURATION
|
||||
# ============================================
|
||||
RANKING_UPDATE_INTERVAL_MS=60000
|
||||
RANKING_CACHE_TTL_SECONDS=300
|
||||
LEADERBOARD_SIZE=100
|
||||
|
||||
# ============================================
|
||||
# ACHIEVEMENT CONFIGURATION
|
||||
# ============================================
|
||||
ACHIEVEMENT_CHECK_INTERVAL_MS=30000
|
||||
BADGE_AUTO_AWARD=true
|
||||
|
||||
# ============================================
|
||||
# MONITORING & HEALTH CHECKS
|
||||
# ============================================
|
||||
HEALTH_CHECK_INTERVAL_MS=30000
|
||||
ENABLE_METRICS=true
|
||||
METRICS_PORT=9090
|
||||
|
||||
# ============================================
|
||||
# FEATURE FLAGS
|
||||
# ============================================
|
||||
ENABLE_REGISTRATION=true
|
||||
ENABLE_AI_GENERATION=true
|
||||
ENABLE_PDF_PROCESSING=true
|
||||
ENABLE_TELEGRAM_NOTIFICATIONS=true
|
||||
ENABLE_RANKING_SYSTEM=true
|
||||
ENABLE_ACHIEVEMENTS=true
|
||||
MAINTENANCE_MODE=false
|
||||
Reference in New Issue
Block a user