SOJ-web
SOJ-web es el frontend v2 para Sundial, un sistema de Online Judge desarrollado con Next.js y React. Permite a los usuarios practicar algoritmos, participar en concursos y visualizar tableros de clasificación en tiempo real.
Ficha actualizada 25 sept 2026, 12:26 · upstream 25 sept 2026, 11:59 · release web-v1.3.1
Qué es SOJ-web
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
SOJ-web actúa como la interfaz de usuario principal para el producto Sundial, construida sobre una arquitectura de frontend moderna utilizando Next.js, React y Node.js. El proyecto está diseñado con un límite de API mockable, lo que facilita el desarrollo y las pruebas sin depender inmediatamente del backend completo.
La aplicación soporta múltiples entornos mediante variables de entorno como `NEXT_PUBLIC_SOJ_API_MODE`, permitiendo alternar entre datos simulados (mock) para desarrollo local o llamadas HTTP reales al backend. El despliegue se gestiona mediante un sistema tag-driven, donde el servidor consume las etiquetas git para actualizar la versión del frontend sin necesidad de reconstruirlo en cada commit.
La estructura del proyecto es modular, separando rutas, componentes y lógica de dominio en carpetas específicas como `app`, `components` y `features`. Incluye una suite completa de pruebas con Vitest para unidades y Playwright para pruebas end-to-end (E2E), asegurando la calidad del código antes de cada release.
- Práctica de algoritmos y problemas de programación competitiva en un entorno seguro.
- Visualización de tableros de clasificación en tiempo real durante concursos en vivo.
- Desarrollo frontend con API mockable para prototipado rápido sin backend dependiente.
- Integración con backends escritos en Rust o Python a través del adaptador HTTP.
- Ejecución de pruebas automatizadas E2E para validar flujos de usuario completos.
- Gestión de despliegues continuos mediante tags git y scripts de servidor externos.
- Arquitectura modular con separación clara entre lógica de dominio, componentes UI y adaptadores de API.
- Sistema de pruebas robusto que incluye Vitest para unidades y Playwright para escenarios E2E.
- Despliegue tag-driven automatizado con validaciones de salud y rollback en caso de fallo.
- Diseño system documentado y tokens visuales (`soj-*`) para mantener la consistencia UI.
- Soporte nativo para TypeScript estricto con reglas de ESLint y linting de estilo.
- API adaptable que permite operar en modo local (mock) o producción (HTTP) sin cambios de código.
- Requiere Node.js 22 o superior, lo que limita la compatibilidad con entornos legacy.
- El despliegue depende de scripts externos en el servidor y gestión manual de tags git.
- No incluye Dockerfile ni Compose explícitos en la estructura visible del README (aunque el análisis indica soporte).
- Las variables de entorno locales (`SOJ_*`) deben configurarse manualmente para conectar con backends reales.
- La interfaz depende de un backend externo que no se incluye en este repositorio.
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.
Para desplegar, cree una etiqueta git (ej. `web-v1.2.0`) y empuje al remoto. El servidor debe tener scripts para consultar nuevas etiquetas, descargar el build estático y cambiar un enlace atómico. Verifique la salud de la aplicación tras cada swap. Asegúrese de que el backend esté accesible en el puerto 8080 o configurado vía variables de entorno.
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.