JCodelab Studio (Cuadernos & Evaluaciones) 🚀

Plataforma interactiva de cuadernos multilenguaje (SQL, Python, Java, JS, C/C++, PHP, C#, Ruby, Go, Rust, Kotlin) con gestor de bases de datos integrados, Tutor IA Gemini, evaluaciones cripto-firmadas HMAC-SHA256 y centinela anti-trampas en tiempo real.
🌐 Selección de Idioma / Language Selection
JCodelab Studio está disponible en Español (por defecto) y en Inglés.
- Español (Default): Todos los menús, cuadernos, reportes y vistas están configurados automáticamente en español.
- English: Switch the extension UI and reports to English anytime via VS Code Settings or command palette (
JCodelab: Cambiar Idioma / Change Language).
📖 Descripción General
JCodelab Studio es una extensión integral para Visual Studio Code diseñada para estudiantes, profesores e ingenieros de software. Combina la potencia de los cuadernos interactivos (Notebooks .sqlnb y .sqlexam) con ejecución multilingüe en tiempo real, gestión visual de bases de datos, ayuda contextual con Google Gemini AI, y un sistema completo para la creación, aplicación y calificación automatizada de evaluaciones académicas con seguridad criptográfica.
✨ Características Principales
📘 1. Cuadernos Multilenguaje Interactivos (.sqlnb / .sqlexam)
- 11+ Lenguajes de Programación Soportados:
- 🗄️ SQL: SQLite (en memoria o archivo local), PostgreSQL y MySQL.
- 🐍 Python: Ejecución limpia con soporte para librerías estándar y visualización.
- ☕ Java: Compilación y ejecución instantánea de clases Java.
- 🟨 JavaScript / Node.js: Scripts interactivos con módulos Node.
- ⚡ C / C++: Compilación con
gcc / g++.
- 🐘 PHP: Scripts PHP interpretados al instante.
- 🎯 C# (.NET): Ejecución rápida con
dotnet-script / csc.
- 💎 Ruby: Evaluación directa de scripts
.rb.
- 🐹 Go: Ejecución rápida con
go run.
- 🦀 Rust: Compilación y ejecución nativa con
rustc.
- 🎯 Kotlin: Scripts interactivos
.kts y compilación .kt.
🗄️ 2. Gestor de Bases de Datos & Visor ERD
- Panel lateral interactivo para conectar a bases de datos SQLite, PostgreSQL y MySQL.
- Diagrama ERD (Entity-Relationship Diagram) generado automáticamente desde el esquema activo.
- Inspector completo de tablas, tipos de datos, llaves primarias/foráneas y vistas.
🤖 3. Tutor Virtual & Generador de Notebooks con IA (Gemini)
- Generador de cuadernos educativos sobre cualquier tema mediante el modelo Google Gemini.
- Asistente virtual para resolver dudas sobre errores de compilación o SQL.
🔐 4. Suite de Evaluaciones Cripto-Firmadas (Docentes y Estudiantes)
- Firmado HMAC-SHA256: Los exámenes
.sqlexam previenen cualquier alteración no autorizada de enunciados o soluciones esperadas.
- Control de Horarios y Fechas: Restricción de inicio y fin mediante timestamps ISO 8601.
- Centinela Anti-Trampas en Tiempo Real:
- Conteo de pérdida de foco (cambio de ventana).
- Monitoreo de evento de pegado masivo de código.
- Supresión opcional de asistentes de autocompletado / IA Copilot durante la evaluación.
- Calificación Automática & Reportes PDF / HTML:
- Calificación automática instantánea comparando la salida ejecutada contra el hash esperado.
- Generación de certificado de notas en PDF cripto-verificable mediante código Hash de autenticidad.
- Inspector de auditoría masiva para docentes (revisión automática de carpetas completas con PDFs de estudiantes).
🛠️ Requisitos del Sistema
Para aprovechar al máximo JCodelab Studio, asegúrate de tener instalado en tu sistema el entorno ejecutor del lenguaje que deseas trabajar:
- VS Code: versión
1.85.0 o superior.
- Python:
python / python3 en el PATH del sistema.
- Node.js:
node para ejecuciones de JavaScript.
- Java: JDK (
javac y java) en el PATH.
- C / C++:
gcc / g++ instalados.
- Go / Rust / Kotlin / PHP / Ruby / C#: Sus respectivos compiladores/interpretes instalados en las variables de entorno del SO si planeas ejecutar celdas de dichos lenguajes.
🚀 Guía Paso a Paso: ¿Cómo Usar JCodelab Studio?
Paso 1: Abrir o Crear un Cuaderno Interactive (.sqlnb)
- Abre la paleta de comandos con
Ctrl + Shift + P (o Cmd + Shift + P en macOS).
- Escribe y selecciona:
JCodelab: Crear Nuevo Notebook Multilenguaje (.sqlnb).
- Selecciona el lenguaje deseado (por ejemplo,
Python o SQL).
Paso 2: Ejecutar Celdas de Código y Markdown
- Haz clic en + Código o + Markdown para agregar celdas.
- Escribe tu código y presiona el botón Run (▶) situado a la izquierda de la celda o usa
Ctrl + Enter.
- Verás la salida renderizada inmediatamente debajo de la celda (tablas interactivas para SQL, texto o gráficos para otros lenguajes).
Paso 3: Conectar a una Base de Datos y Ver el Diagrama ERD
- En la barra de actividades de VS Code (izquierda), haz clic en el icono de JCodelab Studio (</>).
- Selecciona el tipo de base de datos (SQLite en memoria, archivo SQLite local, PostgreSQL o MySQL).
- Configura los parámetros de conexión y haz clic en Guardar Conexión.
- Haz clic en Abrir Diagrama ERD para inspeccionar las relaciones entre tablas en una vista gráfica interactiva.
Paso 4: Generar un Cuaderno con Inteligencia Artificial (Gemini)
- Ejecuta la paleta de comandos (
Ctrl + Shift + P) y busca: JCodelab: ✨ Generar Notebook con IA (Gemini).
- Si es la primera vez, selecciona
Configurar API Key e ingresa tu clave gratuita de Google AI Studio.
- Escribe el tema del cuaderno (ejemplo: "Tutorial práctico de subconsultas SQL con PostgreSQL") y el lenguaje.
- ¡Listo! La IA construirá automáticamente un cuaderno completo con explicaciones Markdown y celdas de código listas para ejecutar.
Paso 5: Flujo de Trabajo para Docentes (Creación de Exámenes Cripto-Firmados)
- Diseña un notebook con ejercicios y respuestas.
- Ejecuta en la paleta de comandos:
JCodelab: Crear Examen Cripto-Firmado (.sqlexam).
- Ingresa el título del examen, la llave secreta del docente (Secret Key), puntajes por celda y la ventana de fechas/horas autorizadas.
- Se generará un archivo protegido
.sqlexam que podrás distribuir a tus alumnos.
Paso 6: Flujo de Trabajo para Estudiantes (Presentar y Entregar Examen)
- El estudiante abre el archivo
.sqlexam recibido.
- Completa las celdas de código requeridas.
- Ejecuta el comando:
JCodelab: Entregar y Calificar Examen.
- Ingresa su Nombre, Identificación (Cédula/Código) y Grupo.
- El sistema evalúa el examen en tiempo real y genera un Reporte de Calificación PDF protegido con hash de verificación.
Paso 7: Validar PDF y Auditoría Masiva (Docentes)
- Validación Individual: Para comprobar si un PDF entregado por un estudiante es legítimo y no ha sido alterado, ejecuta
JCodelab: Validar Autenticidad de PDF de Estudiante y selecciona el archivo PDF.
- Auditoría Masiva: Ejecuta
JCodelab: Auditar Carpeta Masiva de Entregas PDF seleccionando la carpeta con todos los archivos entregados por la clase. Se generará un reporte consolidado en tabla con las notas, tiempos y alertas anti-trampa.
Paso 8: Cambiar el Idioma de la Extensión
- En la paleta de comandos (
Ctrl + Shift + P), busca: JCodelab: 🌐 Cambiar Idioma / Change Language.
- Selecciona Español o English.
📋 Referencia de Comandos (Command Palette)
| Comando |
Descripción |
JCodelab: Crear Nuevo Notebook Multilenguaje (.sqlnb) |
Crea un cuaderno borrador en blanco. |
JCodelab: Abrir Cuaderno o Tutorial (.sqlnb) |
Abre un archivo de cuaderno existente. |
JCodelab: Exportar Notebook (HTML, PDF, Markdown, Script) |
Exporta el cuaderno activo a formato Web, PDF, MD o Script fuente. |
JCodelab: Evaluar Cuaderno & Calificar Resultados |
Ejecuta y califica todas las celdas del cuaderno activo. |
JCodelab: Crear Examen Cripto-Firmado (.sqlexam) |
Empaqueta un examen protegido con firmas HMAC-SHA256. |
JCodelab: Entregar y Calificar Examen |
Finaliza y califica el examen activo generando comprobante PDF. |
JCodelab: Validar Autenticidad de PDF de Estudiante |
Verifica si la firma criptográfica de un PDF de notas es válida. |
JCodelab: Auditar Carpeta Masiva de Entregas PDF |
Procesa carpetas enteras de exámenes para extracción de notas. |
JCodelab: Abrir Diagrama ERD de Base de Datos |
Genera un mapa gráfico de las tablas de la BD conectada. |
JCodelab: Abrir Visor Completo de Tablas y Esquema BD |
Muestra el esquema detallado de la base de datos activa. |
JCodelab: Vaciar Estructura y Tablas de la BD Activa |
Reinicia la base de datos limpiando esquemas. |
JCodelab: Abrir Inspector de Paquetes y Dependencias |
Revisa paquetes instalados en el entorno (pip, npm, etc.). |
JCodelab: ✨ Generar Notebook con IA (Gemini) |
Crea cuadernos automáticos con Google Gemini AI. |
JCodelab: ⚙️ Configurar API Key / Modelo Gemini |
Gestiona credenciales y modelo activo de Gemini. |
JCodelab: 🌐 Cambiar Idioma / Change Language |
Alterna entre Español e Inglés en la interfaz. |
⚙️ Ajustes de Configuración (Settings)
Puedes personalizar la extensión en la ventana de Configuración de VS Code (Ctrl + ,):
jcodelab.language: Idioma principal de la extensión (es | en). Por defecto: es.
jcodelab.geminiApiKey: Clave de API de Google Gemini para funciones de Inteligencia Artificial.
jcodelab.geminiModel: Identificador del modelo Gemini (Ejemplo: gemini-2.0-flash, gemini-1.5-pro).
🇺🇸 English Quick Overview & Instructions
Description
JCodelab Studio is a complete VS Code extension designed for interactive code execution across 11+ programming languages (SQL, Python, Java, JS, C/C++, PHP, C#, Ruby, Go, Rust, Kotlin). It includes integrated database managers, ERD diagrams, Google Gemini AI integration, and a comprehensive Crypto-Signed Exam Suite (.sqlexam) with anti-cheat protection and automated PDF grading.
Quick Usage Steps:
- Create Notebook: Open Command Palette (
Ctrl+Shift+P), run JCodelab: Create New Multi-Language Notebook (.sqlnb).
- Execute Code: Add code or markdown cells and click ▶ (Run) or press
Ctrl+Enter.
- Database & ERD: Open the JCodelab sidebar tab, add a SQLite, PostgreSQL, or MySQL connection, then click Open ERD Diagram.
- AI Generation: Run
JCodelab: ✨ Generate AI Notebook (Gemini) to create educational notebooks automatically.
- Exams (Teachers): Create HMAC-SHA256 signed
.sqlexam files with JCodelab: Create Crypto-Signed Exam (.sqlexam).
- Exams (Students): Submit and grade exams using
JCodelab: Submit and Grade Exam to generate tamper-proof PDF report cards.
- Change Language: Run
JCodelab: 🌐 Change Language / Cambiar Idioma to switch between Spanish and English.
📄 Licencia
Este proyecto está bajo la Licencia MIT.
JCodelab Studio — Potenciando la educación y la práctica de programación.
| |