{"id":44630974,"url":"https://github.com/leansandoval/inteligenciaartificialaplicada","last_synced_at":"2026-02-14T16:30:48.556Z","repository":{"id":318400023,"uuid":"1060161264","full_name":"leansandoval/InteligenciaArtificialAplicada","owner":"leansandoval","description":"Trabajo Práctico Integrador de la materia Inteligencia Artificial Aplicada (3668) UNLaM - 2C 2025","archived":false,"fork":false,"pushed_at":"2025-11-24T06:13:33.000Z","size":38694,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-28T00:09:31.376Z","etag":null,"topics":["azure-devops","flashcards","gemini-api","github-copilot","nlp-machine-learning","quizzes"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leansandoval.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-19T13:27:33.000Z","updated_at":"2025-11-24T06:13:36.000Z","dependencies_parsed_at":"2025-10-07T01:15:18.432Z","dependency_job_id":"1e31f0d4-a211-46e5-a1f7-0f1de55abe37","html_url":"https://github.com/leansandoval/InteligenciaArtificialAplicada","commit_stats":null,"previous_names":["leansandoval/inteligenciaartificialaplicada"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leansandoval/InteligenciaArtificialAplicada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leansandoval%2FInteligenciaArtificialAplicada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leansandoval%2FInteligenciaArtificialAplicada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leansandoval%2FInteligenciaArtificialAplicada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leansandoval%2FInteligenciaArtificialAplicada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leansandoval","download_url":"https://codeload.github.com/leansandoval/InteligenciaArtificialAplicada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leansandoval%2FInteligenciaArtificialAplicada/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29449369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-devops","flashcards","gemini-api","github-copilot","nlp-machine-learning","quizzes"],"created_at":"2026-02-14T16:30:48.005Z","updated_at":"2026-02-14T16:30:48.549Z","avatar_url":"https://github.com/leansandoval.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 QuizCraft - Plataforma de Aprendizaje Inteligente\r\n\r\n**QuizCraft** es una plataforma web de estudio personalizada desarrollada con **ASP.NET Core 8** que combina flashcards inteligentes, quizzes adaptativos y análisis de progreso para optimizar el aprendizaje. Utiliza **repetición espaciada** e **inteligencia artificial** para crear contenido educativo automático y personalizar la experiencia de estudio según el rendimiento del usuario.\r\n\r\n## Información de la Asignatura\r\n* **Carrera**: Ingeniería en Informática\r\n* **Asignatura**: Inteligencia Artificial Aplicada (3668)\r\n* **Cuatrimestre**: Segundo Cuatrimestre\r\n* **Año**: 2025\r\n* **Grupo**: 2\r\n\r\n## Trayecto - Desarrollo de Software\r\n* **Año académico**: Quinto Año - Primer Cuatrimestre\r\n* **Responsable / Jefe de catedra**: Montefiori, Damian\r\n* **Carga horaria semanal**: 4 hs\r\n* **Carga horaria total**: 64 hs\r\n* **Modalidad**: Virtual\r\n* **Correlativas anteriores**\r\n  + Estadística Aplicada (3656)\r\n  + Inteligencia Artificial (3664)\r\n\r\n## Docentes\r\n* Montefiori, Damian\r\n\r\n## Integrantes\r\n| DNI | Apellido/s | Nombre/s |\r\n|--|--|--|\r\n| 43.630.151 | Antonioli | Iván Oscar |\r\n| 40.742.053 | Berti | Rodrigo Nicolás |\r\n| 43.089.397 | Fragassi | Donatella |\r\n| 41.548.235 | Sandoval Vasquez | Juan Leandro |\r\n\r\n## 🎯 Características Principales\r\n\r\n- **🎴 Gestión de Materias y Flashcards** con algoritmos de repetición espaciada\r\n- **📝 Quizzes Personalizados** con diferentes niveles de dificultad\r\n- **🤖 Generación Automática de Contenido** mediante integración con Google Gemini\r\n- **📊 Análisis de Progreso** con estadísticas detalladas y visualizaciones\r\n- **🖼️ Soporte Multimedia** para imágenes, audio y documentos\r\n- **👥 Colaboración** para compartir contenido entre usuarios\r\n\r\n## 🛠️ Stack Tecnológico\r\n\r\n- **Backend:** ASP.NET Core 8 MVC, Entity Framework Core, ASP.NET Identity\r\n- **Frontend:** Razor Views, Bootstrap 5, JavaScript, Font Awesome\r\n- **Base de Datos:** SQL Server con migraciones Code-First\r\n- **IA:** Integración con Google Gemini API para generación automática\r\n- **Arquitectura:** Clean Architecture con patrón Repository y Unit of Work\r\n\r\n## 📋 Prerrequisitos\r\n\r\nAntes de comenzar, asegúrate de tener instalado:\r\n\r\n- **.NET 8 SDK** - [Descargar aquí](https://dotnet.microsoft.com/download/dotnet/8.0)\r\n- **SQL Server LocalDB** (incluido con Visual Studio) o SQL Server\r\n- **Visual Studio 2022** o **Visual Studio Code** con extensión C#\r\n- **Git** para clonar el repositorio\r\n\r\n## 🚀 Getting Started\r\n\r\n### 1. Clonar el Repositorio\r\n\r\n```bash\r\ngit clone https://dev.azure.com/IAAplicadaGrupo2/QuizCraft/_git/QuizCraft\r\ncd QuizCraft\r\n```\r\n\r\n### 2. Configurar la Base de Datos\r\n\r\n```bash\r\n# Navegar al proyecto principal\r\ncd src/QuizCraft.Web\r\n\r\n# Aplicar las migraciones de Entity Framework\r\ndotnet ef database update\r\n```\r\n\r\nSi no tienes Entity Framework CLI instalado:\r\n```bash\r\ndotnet tool install --global dotnet-ef\r\n```\r\n\r\n### 3. Configurar la Cadena de Conexión (Opcional)\r\n\r\nEl proyecto usa LocalDB por defecto. Si necesitas cambiar la conexión, modifica `appsettings.json`:\r\n\r\n```json\r\n{\r\n  \"ConnectionStrings\": {\r\n    \"DefaultConnection\": \"Server=(localdb)\\\\mssqllocaldb;Database=QuizCraftDb;Trusted_Connection=true;MultipleActiveResultSets=true\"\r\n  }\r\n}\r\n```\r\n\r\n### 4. Ejecutar la Aplicación\r\n\r\n**Opción A: Con .NET CLI**\r\n```bash\r\n# Desde el directorio src/QuizCraft.Web\r\ndotnet run\r\n```\r\n\r\n**Opción B: Con Visual Studio**\r\n1. Abrir `src/QuizCraft.sln`\r\n2. Establecer `QuizCraft.Web` como proyecto de inicio\r\n3. Presionar **F5** o hacer clic en \"Ejecutar\"\r\n\r\n### 5. Acceder a la Aplicación\r\n\r\nUna vez ejecutada, la aplicación estará disponible en:\r\n- **HTTPS:** https://localhost:7249\r\n- **HTTP:** http://localhost:5291\r\n\r\n## 🔐 Credenciales de Demostración\r\n\r\nPara probar la aplicación, puedes usar las siguientes credenciales:\r\n- **Usuario:** admin@quizcraft.com\r\n- **Contraseña:** Admin123!\r\n\r\n## 🏗️ Build and Test\r\n\r\n### Compilar el Proyecto\r\n\r\n```bash\r\n# Compilar toda la solución\r\ndotnet build src/QuizCraft.sln\r\n\r\n# Compilar en modo Release\r\ndotnet build src/QuizCraft.sln --configuration Release\r\n```\r\n\r\n### Ejecutar Pruebas\r\n\r\n```bash\r\n# Ejecutar todas las pruebas\r\ndotnet test\r\n\r\n# Ejecutar pruebas con cobertura\r\ndotnet test --collect:\"XPlat Code Coverage\"\r\n```\r\n\r\n### Verificar Calidad del Código\r\n\r\n```bash\r\n# Analizar código con sonar (si está configurado)\r\ndotnet sonarscanner begin /k:\"QuizCraft\"\r\ndotnet build\r\ndotnet sonarscanner end\r\n```\r\n\r\n## 📂 Estructura del Proyecto\r\n\r\n```\r\nQuizCraft/\r\n├── src/\r\n│   ├── QuizCraft.Web/              # Proyecto principal MVC\r\n│   ├── QuizCraft.Core/             # Entidades y lógica de dominio\r\n│   ├── QuizCraft.Application/      # Servicios de aplicación y ViewModels\r\n│   └── QuizCraft.Infrastructure/   # Repositorios y acceso a datos\r\n├── Documentacion/\r\n│   ├── ARQUITECTURA.md             # Documentación de arquitectura\r\n│   ├── REQUISITOS.md               # Requisitos funcionales y no funcionales\r\n│   └── README-Azure-DevOps-CLI.md  # Comandos útiles de Azure DevOps\r\n└── README.md                       # Este archivo\r\n```\r\n\r\n## 🛠️ Software Dependencies\r\n\r\n### Paquetes NuGet Principales\r\n\r\n- **Microsoft.AspNetCore.App** (8.0)\r\n- **Microsoft.EntityFrameworkCore.SqlServer** (8.0)\r\n- **Microsoft.AspNetCore.Identity.EntityFrameworkCore** (8.0)\r\n- **Microsoft.EntityFrameworkCore.Tools** (8.0)\r\n- **AutoMapper** (para mapeo de entidades)\r\n- **FluentValidation** (para validaciones)\r\n\r\n### Dependencias del Frontend\r\n\r\n- **Bootstrap 5.3** - Framework CSS\r\n- **Font Awesome 6** - Iconografía\r\n- **jQuery 3.6** - Manipulación DOM\r\n- **Chart.js** - Gráficos y estadísticas\r\n\r\n## 🔧 Configuración de Desarrollo\r\n\r\n### Variables de Entorno\r\n\r\nCrea un archivo `appsettings.Development.json` para configuraciones locales:\r\n\r\n```json\r\n{\r\n  \"Logging\": {\r\n    \"LogLevel\": {\r\n      \"Default\": \"Debug\",\r\n      \"Microsoft.AspNetCore\": \"Warning\"\r\n    }\r\n  },\r\n  \"ConnectionStrings\": {\r\n    \"DefaultConnection\": \"Tu cadena de conexión local\"\r\n  },\r\n  \"Gemini\": {\r\n    \"ApiKey\": \"Tu API Key de Google Gemini (gratuita)\"\r\n  }\r\n}\r\n```\r\n\r\n### Configuración de Google Gemini (Opcional)\r\n\r\nPara habilitar la generación automática de contenido:\r\n\r\n1. Obtén una API Key GRATUITA de [Google AI Studio](https://aistudio.google.com/app/apikey)\r\n2. Agrégala a tu `appsettings.Development.json`\r\n3. El sistema detectará automáticamente la disponibilidad\r\n\r\n**💡 Ventajas de Gemini:**\r\n- ✅ **Completamente gratuito** (no requiere tarjeta de crédito)\r\n- ✅ **Límites generosos** para uso académico y desarrollo\r\n- ✅ **Modelo avanzado** gemini-2.0-flash-exp\r\n- ✅ **Solo necesitas** una cuenta de Google\r\n\r\n## 🚨 Solución de Problemas Comunes\r\n\r\n### Error de Migraciones\r\n\r\n```bash\r\n# Eliminar base de datos y recrear\r\ndotnet ef database drop --force\r\ndotnet ef database update\r\n```\r\n\r\n### Problemas con LocalDB\r\n\r\n1. Verificar que SQL Server LocalDB esté instalado\r\n2. Comprobar que el servicio esté ejecutándose:\r\n   ```cmd\r\n   sqllocaldb info mssqllocaldb\r\n   ```\r\n\r\n### Puertos Ocupados\r\n\r\nLos puertos se configuran en `Properties/launchSettings.json`. Puedes cambiarlos si están ocupados.\r\n\r\n## 🤝 Contribute\r\n\r\n### Cómo Contribuir\r\n\r\n1. **Fork** el proyecto desde Azure DevOps\r\n2. Crea una **rama feature** para tu funcionalidad:\r\n   ```bash\r\n   git checkout -b feature/nueva-funcionalidad\r\n   ```\r\n3. **Commit** tus cambios con mensajes descriptivos:\r\n   ```bash\r\n   git commit -m \"feat: agregar nueva funcionalidad X\"\r\n   ```\r\n4. **Push** a tu rama:\r\n   ```bash\r\n   git push origin feature/nueva-funcionalidad\r\n   ```\r\n5. Crea un **Pull Request** en Azure DevOps\r\n\r\n### Estándares de Código\r\n\r\n- Seguir las convenciones de C# y .NET\r\n- Usar nombres descriptivos para variables y métodos\r\n- Incluir comentarios XML para métodos públicos\r\n- Mantener cobertura de pruebas \u003e 80%\r\n- Validar que todas las pruebas pasen antes del PR\r\n\r\n### Reportar Issues\r\n\r\nPara reportar bugs o solicitar features:\r\n1. Ve a la sección **Work Items** en Azure DevOps\r\n2. Crea un nuevo **Bug** o **Feature Request**\r\n3. Incluye información detallada y pasos para reproducir\r\n\r\n## 📚 Latest Releases\r\n\r\n### v1.0.0 (Actual)\r\n- ✅ Sistema completo de materias y flashcards\r\n- ✅ Autenticación con ASP.NET Identity\r\n- ✅ Interfaz responsive con Bootstrap 5\r\n- ✅ Base de datos con Entity Framework Core\r\n- ✅ Arquitectura limpia y escalable\r\n\r\n### Próximas Versiones\r\n- 🔄 **v1.1.0** - Integración con Google Gemini para generación automática\r\n- 📅 **v1.2.0** - Sistema de quizzes avanzado\r\n- 📊 **v1.3.0** - Analytics y estadísticas detalladas\r\n\r\n## 📖 API References\r\n\r\n### Controladores Principales\r\n\r\n- **`HomeController`** - Dashboard y páginas principales\r\n- **`MateriaController`** - CRUD de materias\r\n- **`AccountController`** - Autenticación y perfil de usuario\r\n- **`FlashcardController`** - Gestión de flashcards (próximamente)\r\n\r\n### Servicios de Aplicación\r\n\r\n- **`IMateriaRepository`** - Repositorio de materias\r\n- **`IUnitOfWork`** - Patrón Unit of Work\r\n- **`IGeminiService`** - Integración con Google Gemini AI\r\n\r\nPara más detalles, consulta la [documentación de arquitectura](Documentacion/ARQUITECTURA.md).\r\n\r\n## 📞 Información del Proyecto\r\n\r\n- **Organización:** IAAplicadaGrupo2\r\n- **Proyecto:** QuizCraft\r\n- **Repositorio:** https://dev.azure.com/IAAplicadaGrupo2/QuizCraft\r\n- **Documentación:** [Wiki del Proyecto](https://dev.azure.com/IAAplicadaGrupo2/QuizCraft/_wiki)\r\n\r\n## 📄 Licencia\r\n\r\nEste proyecto está desarrollado como parte de un proyecto académico para el curso de Inteligencia Artificial Aplicada.\r\n\r\n---\r\n\r\n## 🌟 Recursos Adicionales\r\n\r\n- [Documentación de ASP.NET Core](https://docs.microsoft.com/aspnet/core)\r\n- [Entity Framework Core](https://docs.microsoft.com/ef/core)\r\n- [Bootstrap 5 Documentation](https://getbootstrap.com/docs/5.3/)\r\n- [Azure DevOps CLI Commands](Documentacion/README-Azure-DevOps-CLI.md)\r\n\r\n---\r\n\r\n\u003e 💡 **¿Necesitas ayuda?** Consulta la [documentación completa](Documentacion/) o crea un Work Item en Azure DevOps.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleansandoval%2Finteligenciaartificialaplicada","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleansandoval%2Finteligenciaartificialaplicada","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleansandoval%2Finteligenciaartificialaplicada/lists"}