UNLaR-Connect es una plataforma web monolítica de alta fidelidad diseñada específicamente para estudiantes y tutores de la Universidad Nacional de La Rioja (UNLaR). El proyecto fue desarrollado para resolver los desafíos planteados en el Eje 3: Red Colaborativa Estudiantil (Intercambio de Conocimientos y Recursos) de la Hackathon UNLaR.
A lo largo de su trayectoria universitaria, los estudiantes se enfrentan a dos grandes barreras estructurales:
- Dificultad académica en materias filtro: Asignaturas complejas donde la tasa de recursado es alta y la falta de apoyo continuo genera deserción.
- Falta de acceso a insumos tecnológicos costosos: La necesidad de equipamiento especializado (como placas Arduino, cámaras réflex, herramientas físicas, instrumental de laboratorio o licencias de software caras) que los estudiantes no siempre pueden costear.
- El caos de los grupos masivos de WhatsApp: Aunque en la comunidad universitaria abunda la buena voluntad de compañeros dispuestos a dar tutorías o prestar/alquilar el equipamiento que tienen guardado, la falta de un canal seguro, organizado e indexado hace que este flujo de ayuda se pierda por completo en el ruido diario de las redes sociales informales.
UNLaR-Connect transforma la interacción informal en una red académica estructurada, segura y gamificada:
- Enlace de Audio/Video por WebRTC: Los estudiantes con dificultades académicas pueden ver qué tutores certificados están en línea y solicitar una "Consulta Express" al instante. La plataforma inicia una llamada 1-on-1 segura, directa y con fallback inteligente para redes móviles.
- Descarga Contextual e Interacción: Durante la llamada, los estudiantes chatean en tiempo real y acceden a los apuntes de la materia seleccionada sin salir de la sala.
- Chat Interactivo con Apuntes: Los estudiantes suben recursos de estudio (PDF, TXT, MD) que son segmentados y vectorizados en una base de datos local (
pgvector). Un asistente de IA integrado permite "chatear" directamente con los apuntes utilizando terminología y voseo argentino rioplatense ("mirá", "tenés", "comentame"). - Filtros Inteligentes: Búsquedas contextuales por carrera, materia y eje temático para encontrar apuntes de manera inmediata.
- Foro Académico Estructurado: Un espacio categorizado por materias y temas, reemplazando el desorden de WhatsApp. Los estudiantes pueden publicar dudas, responder hilos y coordinar préstamos o alquileres de insumos y herramientas tecnológicas que tienen guardadas.
- Seguridad e Indexación: Cada recurso y publicación está asociado a un perfil verificado de la UNLaR, con trazabilidad completa.
- Incentivo Real a la Colaboración: Para motivar el intercambio de apuntes, la resolución de dudas en el foro y la disponibilidad para tutorías, la plataforma implementa un sistema transaccional de Karma.
- Niveles e Insignias: Los estudiantes ganan puntos y desbloquean insignias reales (Mentor Colaborativo, Participante Activo) visibles en el ranking universitario, transformando el altruismo en un mérito académico reconocido.
UNLaR-Connect se concibe como un monolito altamente eficiente y con tipado estricto:
- Frontend: Next.js 14 (App Router, React 18, TypeScript) con estilos Tailwind CSS y efecto Glassmorphism premium (Lumina Amber / Warm Obsidian).
- Backend Invisible: Next.js Server Actions (
src/actions/) para transacciones directas y seguras sin la latencia de APIs REST tradicionales. - Base de Datos y Seguridad: Supabase (PostgreSQL, seguridad Row-Level Security (RLS) y suscripciones en tiempo real).
- Procesamiento de IA (RAG): Búsqueda vectorial mediante
pgvectorcombinando embeddings de Google Gemini (text-embedding-004) y procesamiento lingüístico con Groq (llama-3.1-8b-instant).
Toda la estructura técnica y de directorios detallada está documentada en la carpeta /docs:
- Arquitectura y Estructura: Detalle del diseño monolítico de Server Actions, estructura de carpetas y directrices de diseño responsive móvil.
- Esquema de Base de Datos y Seguridad: Glosario de tablas de Supabase, triggers PostgreSQL automatizados para el karma y políticas RLS.
- Procesamiento Vectorial y RAG: Flujos de ingesta de archivos, división semántica (sliding-window chunking), embeddings y búsquedas de similitud.
- Guía de Pruebas y Verificación: Instrucciones detalladas de control de calidad para probar llamadas WebRTC, chatbot RAG y sistema de karma.
Este repositorio está optimizado para el trabajo asistido por inteligencia artificial. Consulte AGENTS.md para alinearse con los estándares de desarrollo.
Siga estos pasos para ejecutar UNLaR-Connect localmente en modo de desarrollo:
Asegúrese de tener instalado en su entorno:
- Node.js (versión 18.x o superior)
- npm (versión 9.x o superior)
Clone el repositorio e instale las dependencias del proyecto:
git clone https://github.com/repositories/UNLaR-Connect.git
cd UNLaR-Connect
npm installCree un archivo .env.local en la raíz del proyecto con los parámetros de conexión de sus servicios:
NEXT_PUBLIC_SUPABASE_URL=tu_url_de_proyecto_supabase
NEXT_PUBLIC_SUPABASE_ANON_KEY=tu_clave_anonima_supabase
FREELLMAPI_ENDPOINT=tu_punto_de_conexion_local_llm_apiInicie el servidor de desarrollo local:
npm run devAbra http://localhost:3000 en su navegador para ver la página en funcionamiento.
Verifique la compilación y el cumplimiento de ESLint:
npm run buildNote
Toda contribución debe respetar los estándares de diseño móvil detallados en .agents/rules/03-components.md. Mantenga la coherencia visual y funcional en dispositivos móviles y de escritorio.