ctester
Plataforma auto-alojada para evaluación de código C con sandbox seguro, frontend en Svelte y backend en FastAPI/Rust, ideal para entornos académicos.
Ficha actualizada 23 sept 2026, 20:15 · upstream 23 sept 2026, 20:11 · release sin release detectada
Qué es ctester
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
CTester es una plataforma de evaluación de código C diseñada para ser auto-alojada. Permite a los estudiantes escribir código directamente en el navegador mediante un editor integrado que soporta múltiples archivos y atajos de IDE. La arquitectura separa la lógica de negocio del contenido, permitiendo publicar ejercicios desde repositorios externos sin modificar la aplicación base.
El sistema utiliza un juez escrito en Rust para ejecutar el código dentro de contenedores aislados con gVisor, garantizando seguridad al evitar fugas de red o acceso al host. La API en Python (FastAPI) gestiona las colas de trabajo y la persistencia en PostgreSQL, mientras que el frontend está construido con Svelte 5 y TypeScript.
Además, soporta modos de evaluación variados como quizzes, programas stdin/stdout y pruebas unitarias, e incluye funcionalidades sociales como foros moderados, chat opcional con Discord y edición colaborativa en tiempo real para trabajos en equipo. La interfaz es bilingüe (inglés/francés) mediante archivos JSON locales.
- Evaluación de prácticas de programación C en entornos universitarios
- Laboratorios remotos seguros sin instalación local
- Pruebas unitarias interactivas para estudiantes
- Gestión de proyectos colaborativos en equipo con revisión histórica
- Publicación dinámica de contenidos curriculares independientes del software
- Integración de notificaciones y chat educativo vía Discord
- Sandboxing robusto con Docker y gVisor para aislamiento seguro
- Arquitectura desacoplada que permite actualizar contenido sin tocar el código base
- Soporte nativo para múltiples modos de evaluación (stdin/stdout, Unity tests)
- Interfaz bilingüe configurable por estudiante mediante JSON
- Backend híbrido optimizado: Python para lógica y Rust para ejecución crítica
- Edición colaborativa en tiempo real usando Yjs sobre WebSocket
- No incluye ejercicios por defecto; requiere repositorio de contenido externo
- Despliegue manual del stack completo sin Dockerfile/Compose preconfigurados en el root
- Requiere gVisor para la ejecución segura del código en sandbox
- Complejidad media debido a la mezcla de lenguajes (Python, Rust, Svelte)
- Base de datos PostgreSQL obligatoria para persistencia de estado
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Configurar stack de despliegue en deploy/, instalar dependencias Python y Node.js. Asegurar conexión segura con PostgreSQL y configurar el worker separado con Docker + gVisor. Verificar documentación en docs/operations.md antes de producción.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.