Convierte tus PDFs en evaluaciones personalizadas con inteligencia artificial
Caracteristicas - Requisitos - Instalacion - Uso - Configuracion - Arquitectura
StudyIA es una aplicacion de escritorio para Windows que analiza tus documentos PDF con IA y genera automaticamente preguntas de evaluacion. Puedes responderlas en un modo de quiz interactivo donde la propia IA califica cada respuesta de 0 a 100 y te da retroalimentacion inmediata.
Todo funciona de forma local: los PDFs nunca salen de tu equipo. Solo el texto extraido se envia a la API de GitHub Models para generar y evaluar preguntas.
Nota: Gran parte de este proyecto fue desarrollada con vibe coding apoyado por IA. En general, el resultado ha sido bueno, aunque no todo el código ha sido revisado completamente. Los cambios pequeños y más delicados los haré manualmente.
- Selecciona una carpeta y StudyIA la recuerda entre sesiones
- Calcula el hash SHA-256 de cada archivo para detectar cambios
- Registra cada PDF en una base de datos SQLite local (un unico registro por archivo)
- Muestra el estado de cada PDF: Nuevo, Sin cambios o Modificado
- Extrae el texto de cada pagina usando iText7
- Envia el contenido a GitHub Models (
gpt-4o-mini) para generar preguntas de evaluacion - Cada pregunta incluye: texto, respuesta optima, numero de pagina y contexto
- Controla exactamente cuantas preguntas quieres y el sistema solo genera las que faltan
- Responde una pregunta a la vez en una interfaz limpia y enfocada
- La IA evalua tu respuesta de 0 a 100 con retroalimentacion en espanol
- Indicador visual por colores: verde >= 80, naranja >= 60, rojo < 60
- Atajo de teclado Ctrl+Enter para enviar respuestas
- Al terminar: panel de resultados con cada pregunta, tu respuesta, la puntuacion y la media final
- Base de datos SQLite local (
studyia.db) - Historial completo de respuestas con puntuacion y retroalimentacion
- Token de GitHub guardado de forma local
| Requisito | Version minima |
|---|---|
| Windows | 10 / 11 |
| .NET Runtime | 10.0 |
| Cuenta de GitHub | Con acceso a GitHub Models |
GitHub Models esta disponible de forma gratuita para todos los usuarios de GitHub (con limites de uso en el plan Free).
git clone https://github.com/Rainbowdashx1/StudyIA.git
cd StudyIA
dotnet build StudyIA/StudyIA.csproj -c Release
dotnet run --project StudyIA/StudyIA.csproj- Clona el repositorio o descarga el ZIP
- Abre
StudyIA.slncon Visual Studio 2022 / 2026 - Restaura los paquetes NuGet (
dotnet restore) - Pulsa F5 para compilar y ejecutar
| Paquete | Version | Uso |
|---|---|---|
itext7 |
9.5.0 | Extraccion de texto e imagenes de PDF |
Microsoft.Data.Sqlite |
10.0.4 | Base de datos local |
OpenAI |
2.2.0 | Comunicacion con GitHub Models API |
Pulsa Seleccionar carpeta y elige la carpeta que contiene tus PDFs. StudyIA la recordara la proxima vez que abras la aplicacion.
Haz clic en Escanear para calcular el hash de cada archivo y registrarlo. La tabla mostrara el estado de cada PDF.
Pulsa Preguntas para abrir la ventana de generacion.
- Introduce tu GitHub Token (solo la primera vez) y pulsa Guardar
- Indica cuantas preguntas quieres en total
- El sistema muestra cuantas ya existen y cuantas nuevas se generaran
- Pulsa Generar preguntas - la IA analiza cada PDF y guarda las preguntas en la BD
Pulsa Practicar para iniciar el quiz.
- Las preguntas se presentan en orden aleatorio
- Escribe tu respuesta y pulsa Responder (o Ctrl+Enter)
- La IA evalua tu respuesta y muestra la puntuacion con retroalimentacion
- Pulsa Siguiente para continuar
- Al terminar, veras el panel de resultados con tu puntuacion media
StudyIA utiliza la API de GitHub Models, que requiere un Personal Access Token (PAT) de GitHub.
- Ve a github.com/settings/tokens
- Haz clic en Generate new token (classic)
- Dale un nombre descriptivo (ej.
StudyIA) - No necesita permisos especiales - deja todos los scopes desmarcados
- Genera el token y copialo
Abre la ventana Preguntas - campo superior - pega el token - Guardar.
El token se almacena localmente en la base de datos SQLite (studyia.db).
StudyIA/
|-- AppDatabase.cs # Capa de datos SQLite (Settings, PdfFiles, Questions, UserAnswers)
|-- CopilotService.cs # Integracion con GitHub Models API (generacion + evaluacion)
|-- PdfTextService.cs # Extraccion de texto por pagina con iText7
|-- PdfImageExtractor.cs # Extraccion de imagenes de PDF
|
|-- MainWindow.xaml/.cs # Ventana principal - escaneo y registro de PDFs
|-- GenerateQuestionsWindow.xaml/.cs # Ventana de generacion de preguntas con IA
|-- QuizWindow.xaml/.cs # Ventana de quiz y resultados finales
|
|-- PdfFileRecord.cs # Modelo: registro de archivo PDF
|-- QuestionRecord.cs # Modelo: pregunta generada
`-- UserAnswerRecord.cs # Modelo: respuesta del usuario
Settings -- clave/valor (carpeta guardada, token de GitHub)
PdfFiles -- un registro por PDF (ruta, hash SHA-256, tamano, fecha)
Questions -- preguntas vinculadas a un PdfFile (pagina, contexto, respuesta esperada)
UserAnswers -- respuestas del usuario (puntuacion 0-1, retroalimentacion, fecha)PDF en disco
|-> PdfTextService extrae texto por pagina
|-> CopilotService genera preguntas via GitHub Models
|-> AppDatabase persiste Questions vinculadas al PdfFileId
|-> QuizWindow presenta preguntas al usuario
|-> CopilotService evalua respuesta 0-100
`-> AppDatabase persiste UserAnswer con score y feedback
Las contribuciones son bienvenidas. Por favor:
- Haz un fork del repositorio
- Crea una rama:
git checkout -b feature/mi-mejora - Haz commit de tus cambios:
git commit -m "feat: descripcion" - Abre un Pull Request
Distribuido bajo la licencia MIT. Consulta el archivo LICENSE para mas detalles.
Hecho con amor - Rainbowdashx1