Skip to content

diversifica/StudyQuest

Repository files navigation

🏰 StudyQuest

Plataforma de Estudio Gamificada. Transforma materiales de estudio PDF (aburridos) en aventuras interactivas RPG usando IA.


🚀 Características

  • Aprendizaje Interactivo: Convierte temas en "Misiones" y "Batallas".
  • Inteligencia Artificial: Usa LLMs (OpenAI) para generar preguntas, resúmenes e historias.
  • Repetición Espaciada: Algoritmo inteligente (estilo SuperMemo-2) para asegurar la retención.
  • Progreso RPG: Gana XP, sube de nivel y desbloquea logros.
  • Avatares Personalizados: Elige tu héroe y personaliza tu perfil.

🛠️ Tecnologías

  • Frontend: React (Vite) + Vanilla CSS (Sistema de Diseño Propio).
  • Backend: Python (FastAPI) + SQLModel.
  • Base de Datos: PostgreSQL (Producción) / SQLite (Local).
  • Infraestructura: Docker + Easypanel (Dominios Personalizados & SSL).

⚡ Inicio Rápido (Local)

Pre-requisitos

  • Node.js 18+
  • Python 3.10+

1. Clonar e Instalar

git clone https://github.com/diversifica/StudyQuest.git
cd StudyQuest

# Backend
cd backend
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt

# Frontend
cd ../frontend
npm install

2. Variables de Entorno

Crea un archivo .env en la carpeta backend/:

OPENAI_API_KEY=sk-...
DATABASE_URL=sqlite:///./studyquest.db

3. Ejecutar Localmente

Terminal 1 (Backend):

cd backend
uvicorn main:app --reload

Terminal 2 (Frontend):

cd frontend
npm run dev

Visita http://localhost:5173.


🚢 Despliegue (Easypanel)

Este proyecto está configurado con Integración y Despliegue Continuo (CI/CD) vía GitHub Actions.

Flujo de Trabajo

  1. Monorepo: Workflows separados para Backend y Frontend.
  2. Triggers: Al hacer push a la rama main, se activa el despliegue automático.
  3. Auto-Migración: El Backend detecta cambios en la base de datos (ej: nuevas columnas) y los aplica al iniciar.

Configuración

  • Secretos (GitHub): Añadir EASYPANEL_BACKEND_WEBHOOK y EASYPANEL_FRONTEND_WEBHOOK.

📂 Estructura del Proyecto

  • /backend - API FastAPI, Lógica LLM, Modelos DB.
  • /frontend - Interfaz React, Componentes, Páginas.
  • /data - Archivos JSON semilla para contenido inicial.
  • upload_content.py - Script de utilidad para subir contenido a Producción.

Hecho con ❤️ por Diversifica AI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors