Primeros pasos con el desarrollo de omegaUp
¡Bienvenido! Esta guía lo ayudará a comenzar a contribuir con omegaUp, una plataforma educativa gratuita que ayuda a mejorar las habilidades de programación.
¿Qué es omegaUp?
omegaUp es una plataforma de programación educativa utilizada por decenas de miles de estudiantes y profesores en América Latina. Proporciona:
- Resolución de problemas: Miles de problemas de programación con evaluación automática
- Concursos: organizar concursos de programación.
- Cursos: rutas de aprendizaje estructuradas
- Entrenamiento: Practicar problemas organizados por tema y dificultad
Antes de comenzar
Si eres nuevo en omegaUp, te recomendamos:
- Experimente la plataforma: visite omegaUp.com, cree una cuenta y resuelva algunos problemas
- Más información sobre nosotros: Explore omegaup.org para obtener más información sobre nuestra organización
- Comprenda el código base: revise la Descripción general de la arquitectura para comprender cómo funciona omegaUp.
Ruta de inicio rápido
-
Configure su entorno de desarrollo local utilizando Docker. Este es el primer paso para empezar a contribuir.
-
Aprenda a bifurcar el repositorio, crear ramas y enviar solicitudes de extracción.
-
¿Atascado? Aprenda a hacer preguntas de manera efectiva y obtenga ayuda de la comunidad.
Descripción general del entorno de desarrollo
omegaUp utiliza Docker para el desarrollo local:
- Web + API: PHP y MySQL (MVC, APIs JSON)
- Juez: Go (grader/runner) y sandbox minijail
- UI: Vue.js, TypeScript, Bootstrap 4 (migración desde plantillas heredadas)
- Problemas: gitserver y formato ZIP — ver Problemas
Rutas útiles en el repositorio
| Área | Ruta |
|---|---|
| API / reglas | frontend/server/src/Controllers/ |
| Acceso a datos | frontend/server/src/DAO/ |
| Migraciones | frontend/database/ |
| Vue/TS | frontend/www/js/ |
| Plantillas / i18n | frontend/templates/ |
| Tests PHPUnit | frontend/tests/controllers/ |
| Cypress | cypress/e2e/ |
Lecturas (arquitectura)
Navegadores compatibles
Use un navegador actual (Chrome, Firefox, Safari o Edge). El sitio es solo HTTPS; navegadores muy antiguos no son compatibles.
Cuentas de Desarrollo
Cuando configure su entorno local, tendrá acceso a dos cuentas preconfiguradas:
| Nombre de usuario | Contraseña | Rol |
|---|---|---|
omegaup |
omegaup |
Administrador |
user |
user |
Usuario habitual |
Próximos pasos
- Configura tu entorno de desarrollo - Ejecuta Docker y clona el repositorio
- Lea la guía de contribución - Conozca el flujo de trabajo para enviar cambios
- Explora la arquitectura - Comprenda cómo está estructurado omegaUp
- Revisar las pautas de codificación - Conozca nuestros estándares de codificación
Recursos
- Sitio web: omegaup.com
- GitHub: github.com/omegaup/omegaup
- Discord: Únase a nuestro servidor de Discord para obtener apoyo de la comunidad
- Problemas: Informar errores o solicitar funciones
¿Listo para empezar? Dirígete a Configuración de desarrollo para comenzar.