77eceee2f3
- Introduced a new module for progress tracking in the LMS service. - Implemented `calculate_course_completion` function to compute total lessons, completed lessons, and progress percentage for a user in a specific course. - Updated the main.rs file to include the new progress tracking module. - Enhanced the Excel import functionality in the Question Bank to support various question types and improved error handling. - Added a new dependency on the `xlsx` library for handling Excel files in the frontend. - Modified the course settings page to include a branded certificate template with additional organization details. - Updated the package.json and package-lock.json files to include the new `xlsx` dependency. - Changed the default state for ingestRag in the Admin Shared Materials page to true.
111 lines
3.6 KiB
Bash
111 lines
3.6 KiB
Bash
# ========================================
|
|
# OpenCCB Environment Configuration
|
|
# Producción - AWS EC2
|
|
# ========================================
|
|
|
|
# ----------------------------------------
|
|
# Database Configuration (Docker)
|
|
# Las URLs usan 'db' como hostname (contenedor PostgreSQL)
|
|
# Puerto interno de Docker: 5432
|
|
# ----------------------------------------
|
|
DB_PASSWORD=CHANGE_ME_GENERATE_SECURE_PASSWORD
|
|
CMS_DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_cms
|
|
LMS_DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_lms
|
|
DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_cms
|
|
|
|
# ----------------------------------------
|
|
# JWT Secret (64 caracteres mínimo)
|
|
# ----------------------------------------
|
|
JWT_SECRET=CHANGE_ME_GENERATE_SECURE_SECRET
|
|
|
|
# ----------------------------------------
|
|
# Logging
|
|
# ----------------------------------------
|
|
RUST_LOG=info
|
|
|
|
# ----------------------------------------
|
|
# Environment
|
|
# ----------------------------------------
|
|
ENVIRONMENT=prod
|
|
|
|
# ----------------------------------------
|
|
# AI Configuration
|
|
# ----------------------------------------
|
|
AI_PROVIDER=local
|
|
OPENAI_API_KEY=
|
|
|
|
# Local AI (Ollama & Whisper)
|
|
LOCAL_WHISPER_URL=http://t-800.norteamericano.cl:9000
|
|
LOCAL_OLLAMA_URL=http://t-800.norteamericano.cl:11434
|
|
|
|
# Model Configuration
|
|
LOCAL_LLM_MODEL=llama3.2:3b
|
|
LOCAL_LLM_MODEL_COMPLEX=qwen3.5:9b
|
|
LOCAL_LLM_MODEL_ADVANCED=gpt-oss:latest
|
|
|
|
# Embeddings
|
|
EMBEDDING_MODEL=nomic-embed-text
|
|
|
|
# Audio transcription (Whisper)
|
|
WHISPER_MODEL=whisper-large-v3
|
|
|
|
# ----------------------------------------
|
|
# External Database Integration (SAM)
|
|
# ----------------------------------------
|
|
MYSQL_DATABASE_URL=mysql://db_user:db_password@host:3306/database_name
|
|
SAM_DIAGNOSTICO_DATABASE_URL=mysql://db_user:db_password@host:3306/SAM_diagnostico
|
|
EXTERNAL_TABLE_GRADES=notas
|
|
EXTERNAL_ID_TIPO_NOTA=1
|
|
|
|
# ----------------------------------------
|
|
# AWS S3 Configuration (audio storage)
|
|
# Bucket: openccb-802726101181-us-east-2-an
|
|
# ----------------------------------------
|
|
ASSETS_STORAGE=s3
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_REGION=us-east-2
|
|
S3_BUCKET=openccb-802726101181-us-east-2-an
|
|
S3_ENDPOINT=
|
|
S3_PUBLIC_BASE_URL=
|
|
S3_FORCE_PATH_STYLE=false
|
|
|
|
# ----------------------------------------
|
|
# Mercado Pago Configuration
|
|
# ----------------------------------------
|
|
MP_ACCESS_TOKEN=
|
|
MP_PUBLIC_KEY=
|
|
MP_WEBHOOK_SECRET=
|
|
MP_BACK_URL_SUCCESS=https://${NEXT_PUBLIC_LEARNING_DOMAIN}/payments/success
|
|
MP_BACK_URL_FAILURE=https://${NEXT_PUBLIC_LEARNING_DOMAIN}/payments/failure
|
|
MP_NOTIFICATION_URL=
|
|
|
|
# ----------------------------------------
|
|
# Branding Defaults
|
|
# ----------------------------------------
|
|
DEFAULT_ORG_NAME="Norteamericano"
|
|
DEFAULT_PLATFORM_NAME="Norteamericano Learning"
|
|
DEFAULT_LOGO_URL=""
|
|
DEFAULT_FAVICON_URL=""
|
|
DEFAULT_PRIMARY_COLOR="#3B82F6"
|
|
DEFAULT_SECONDARY_COLOR="#8B5CF6"
|
|
|
|
# ----------------------------------------
|
|
# Let's Encrypt Configuration
|
|
# true = Staging (certificados de prueba)
|
|
# false = Production (certificados reales)
|
|
# ----------------------------------------
|
|
LETSENCRYPT_STAGING=true
|
|
|
|
# ----------------------------------------
|
|
# Frontend URLs (para producción con SSL)
|
|
# Dominios configurables - cambiar aquí para mover a otro dominio
|
|
# ----------------------------------------
|
|
NEXT_PUBLIC_STUDIO_DOMAIN=studio.norteamericano.com
|
|
NEXT_PUBLIC_LEARNING_DOMAIN=learning.norteamericano.com
|
|
NEXT_PUBLIC_CMS_API_URL=https://studio.norteamericano.com
|
|
NEXT_PUBLIC_LMS_API_URL=https://learning.norteamericano.com
|
|
ZIP_IMPORT_MAX_UPLOAD_BYTES=4294967296
|
|
ZIP_IMPORT_MAX_ENTRY_BYTES=1073741824
|
|
ZIP_IMPORT_MAX_TOTAL_BYTES=17179869184
|