GSoC 2026
En esta página
Lista de ideas
Le animamos a visitar omegaup.org y omegaup.com para conocer nuestra plataforma y nuestras funciones. Y recuerde, esta es una Lista de ideas. Esperamos que complete la mayoría de los detalles de su propuesta y también puede proponer su propia idea de proyecto. ¡No dudes en comunicarte con cualquier pregunta o nueva idea en nuestro canal de Discord!
Optimización de consultas y evaluación comparativa de rendimiento
Breve descripción:
Este proyecto tiene como objetivo mejorar el rendimiento de la plataforma optimizando las consultas SQL que actualmente deben realizar escaneos completos de tablas e implementando 2 pruebas de integración:
- Una prueba de integración que analiza el EXPLAIN de todas las consultas para determinar si es eficiente o no.
- Una prueba de integración que analiza el rendimiento de todas las consultas ejecutándolas en un conjunto de datos sintéticos con dimensiones comparables a las de producción.
El objetivo es garantizar tiempos de respuesta rápidos para operaciones frecuentes y garantizar la escalabilidad en escenarios de alta carga. Se pueden encontrar más detalles sobre los requisitos en este documento.
Estado actual:
- Las consultas lentas se identificaron y documentaron en un rastreador de consultas.
- Se realiza un seguimiento del progreso en la edición principal #8277, que enumera los RP creados y fusionados.
- Relaciones públicas clave: #8450 (Script para completar la base de datos) y #8423 (Script de detección de consultas ineficiente).
Resultados esperados:
Reducción significativa del tiempo de ejecución de consultas que ya han sido identificadas como ineficientes. Un sistema de evaluación comparativa reproducible para evaluar las mejoras de rendimiento. Las pruebas de integración evitan la introducción de nuevas consultas ineficientes en el futuro.
Habilidades preferidas:
- Optimización de consultas SQL
- MySQL
- Pitón *PHP *YML
Posible mentor:
Ankitsinghsisodya, pabo99, carlosabcs
Tamaño estimado del proyecto:
350 horas
Nivel de habilidad:
Medio
Panel de alertas y monitoreo del rendimiento
Breve descripción:
Defina e implemente métricas de rendimiento significativas para los servicios que ejecuta omegaUp, incluidos: servidor front-end, calificador, gitserver, servidor MySQL. Además de ese monitoreo, se deben definir algunos umbrales para alertarnos sobre nuestro correo electrónico y/o slack. Ya se han implementado algunos controles y alertas básicos; además, este proyecto requiere una gran mejora.
Resultados esperados:
El monitoreo y las alertas nos permiten detectar y depurar problemas de producción antes de que los usuarios comiencen a verse afectados significativamente.
Habilidades preferidas:
- Nueva reliquia
- SQL *PHP
- Pitón
Posible mentor:
Tamaño estimado del proyecto:
350 horas
Nivel de habilidad:
Medio
Migrando de Vue 2 a Vue 3
Breve descripción:
Vue.js 2 ha alcanzado oficialmente su EOF (End of Life) a favor de Vue.js 3. Necesitamos migrar para evitar riesgos de seguridad y desaprobación de dependencias y aprovechar el rendimiento mejorado de Vue 3.
Resultados esperados:
omegaup.com se ejecuta completamente en Vue.js 3 y no depende de Vue.js 2.
Habilidades preferidas:
*Vue.js * Texto mecanografiado *PHP * API REST
Posible mentor:
pabo99, iqbalcodes6602, carlosabcs
Tamaño estimado del proyecto:
350 horas
Nivel de habilidad:
Medio
Migrando Bootstrap 4 a 5
Breve descripción:
Migre la interfaz de usuario a Bootstrap 5 para modernizarla reemplazando jQuery con Vanilla JavaScript, lo que da como resultado una base de código más liviana y rápida. Esta actualización permitirá una creación de temas más sencilla a través de variables CSS y eliminará el soporte heredado de IE para adoptar estándares web modernos. En última instancia, reduce la deuda técnica y al mismo tiempo proporciona un sistema de cuadrícula con mayor capacidad de respuesta diseñado para pantallas de alta resolución.
Resultados esperados:
La interfaz de usuario de omegaUp se ejecuta completamente en bootstrap 5 y no depende de boostrap 4.
Habilidades preferidas:
*Vue.js * Texto mecanografiado *PHP * API REST
Posible mentor:
pabo99, iqbalcodes6602, carlosabcs
Tamaño estimado del proyecto:
350 horas
Nivel de habilidad:
Medio
Optimización de cronjob
Breve descripción:
Tenemos una serie de cronjobs responsables de cosas como actualizar las clasificaciones de estudiantes/escuelas, otorgar insignias a los estudiantes, etc. Con el tiempo, se han vuelto ineficientes, propensos a errores y difíciles de depurar. Queremos hacerlos más eficientes, aumentar su cobertura de prueba y mejorar su capacidad de depuración.
Resultados esperados:
Los cronjobs se vuelven mucho más sencillos, rápidos y fáciles de mantener.
Habilidades preferidas:
- Pitón
- Optimización de consultas SQL *PHP
- API REST
Posible mentor:
Ankitsinghsisodya, iqbalcodes6602, carlosabcs
Tamaño estimado del proyecto:
350 horas
Nivel de habilidad:
Alto
Integrar el creador de problemas
Breve descripción:
Un proyecto del GSoC del año pasado presentó Problem Creator, un editor visual que ayuda a los autores de problemas a crear y editar problemas más fácilmente. Sin embargo, Problem Creator aún no está completamente integrado con omegaUp. Actualmente, los autores deben escribir su problema en Creator, descargar un .zip y cargarlo manualmente. Este proyecto tiene como objetivo optimizar estos flujos de trabajo integrando completamente Problem Creator con las funciones nativas de creación y edición de omegaUp.
Estado actual:
- Se ha escrito un documento de pdesign técnico para este proyecto.
- Cambios de backend completados:
- #8470 Clases y validaciones de CDP, clases CDP principales agregadas y lógica de validación.
- #8479 Nuevo método en ProblemDeployer para modificar archivos ZIP problemáticos y permite actualizar el contenido del ZIP problemático durante la implementación.
- #8554 CDPBuilder corrige y cubre pruebas unitarias, solucionó problemas en CdpBuilder y agregó una prueba unitaria para garantizar la corrección.
- #8606 Compatibilidad con idiomas en CDPBuilder, se agregó compatibilidad con varios idiomas con prioridad según la preferencia de idioma
- #8613 Lógica de backend para editar casos y CDP, se agregó lógica del lado del servidor para admitir la edición de casos y actualizaciones de CDP.
- Cambio de interfaz de usuario inicial completado: #8593 Los componentes CasesForm y DeleteConfirmationForm, introdujeron los formularios de interfaz de usuario básicos necesarios para administrar casos.
- Trabajo pendiente (principalmente relacionado con la interfaz de usuario)
- #8471 Integre CDP en el formulario del problema y maneje archivos ZIP externos
- #8492 Implementación de UI para la interfaz de edición
- #8595 Integración de la interfaz de usuario: vista de edición, CaseEdit y barra lateral
Resultados esperados:
Una experiencia de usuario perfecta de un extremo a otro donde los autores pueden crear o editar problemas directamente a través del Creador de problemas sin transferencias manuales de archivos.
Habilidades preferidas:
*Vue.js * Mecanografiado *PHP * Pruebas de integración
Posible mentor:
pabo99, heduenas, Ankitsinghsisodya
Tamaño estimado del proyecto:
175 horas
Nivel de habilidad:
Alto
Cómo aumentar el
Si está interesado en pasar este verano colaborando con nosotros, en primer lugar, nos sentimos honrados de que esté interesado en nuestra organización y queremos que el proceso de solicitud sea lo más sencillo y agradable posible para usted. Para familiarizarse con omegaUp.com y comenzar a colaborar con nosotros, siga estos pasos:
- Visite omegaup.org para obtener más información sobre nuestro trabajo, nuestra visión y las personas que se benefician de nuestro trabajo.
- Lea este artículo publicado por nuestros cofundadores para conocer la arquitectura y el diseño general de nuestra plataforma.
- Lea este artículo de seguimiento para conocer el trabajo realizado en los últimos años en omegaUp.
- Lea nuestra documentación técnica en este sitio (y el repositorio omegaUp para obtener el código fuente).
Proceso de solicitud
Nuestro proceso de solicitud consta de tres fases. Si quieres participar con nosotros este año, deberás completar cada uno de ellos en orden.
Fase Uno: Completa nuestra prueba
- Primero, cree una cuenta en omegaUp.com.
- Únase a nuestro GSoC 2026 prueba omegaUp. El test consta de 3 problemas, tendrás que resolver al menos 2 de ellos para poder aprobar. En caso de plagio, descalificaremos a los solicitantes involucrados, así que no comparta sus soluciones con otros solicitantes.
nota: URL alternativa para la prueba: Prueba omegaUp
Fase dos: familiarícese con nuestro código base
Le pedimos que complete la fase uno antes de comenzar a trabajar con nuestro código base.- Siga la guía configuración del entorno de desarrollo. - Encuentre un error interesante para resolver en nuestro rastreador de problemas (especialmente de nuestra lista de "Buenos primeros números", o comuníquese con el canal de Discord solicitando uno y estaremos encantados de encontrar una buena opción para usted. La mayoría de las conversaciones en el rastreador de problemas están en español, pero no dude en cambiar la conversación al inglés sobre cualquier tema. Alternativamente, puede ir y encuentre errores en omegaup.com usted mismo, luego infórmelo en nuestro rastreador de problemas y luego corríjalos. - Implemente su solución y envíela para su revisión. Una vez que se haya fusionado, podrás pasar a la tercera fase.
Fase Tres: Redacción de tu propuesta
En este paso esperamos que esté familiarizado con nuestro entorno y código de desarrollo, ya que eso facilita la comprensión de nuestras ideas de proyectos. Le pedimos que combine al menos tres relaciones públicas en uno de los repositorios de omegaUp antes de trabajar en un diseño para un proyecto específico.
- Elabora un documento de diseño para tu proyecto usando esta plantilla. Si desea trabajar en más de un proyecto, le pedimos que lo mencione en su solicitud pero incluya solo un diseño. Esto es para reducir la carga de trabajo de los revisores.
- También le animamos a enviarnos su borrador de propuesta para revisarla y darnos su opinión. Envía el enlace de tu borrador a través de este formulario
https://forms.gle/TbbscnWA5B2ZWfJq7. Asegúrese de que cualquiera que tenga el enlace pueda verlo y comentar. - Intentaremos brindarle la mayor cantidad de comentarios posible y tan pronto como podamos. Sin embargo, no proporcionaremos comentarios a los candidatos que no hayan completado con éxito las fases 1 o 2.
- Cuando consideres que tu solicitud está lista, no olvides enviarla a Google porque si no lo haces no podrás ser considerado en GSoC 2026.
Fase Cuatro: Entrevista con la organización
Una vez enviados los documentos de diseño, seleccionaremos una lista corta de candidatos en función de las tres primeras fases y programaremos entrevistas telefónicas con ellos. La entrevista constará de preguntas tanto técnicas como de comportamiento.
Solo consideraremos candidatos que hayan completado las 4 fases de la solicitud.
Comunicaciones
Si tiene preguntas sobre el entorno de desarrollo, el código base o cómo funciona el proceso de solicitud de GSoC en omegaUp, siga nuestra guía para obtener ayuda para que su pregunta reciba una respuesta eficiente.
Nuestro principal medio de comunicación con los candidatos de GSoC es nuestro canal de Discord. ¡Te invitamos a unirte!
Preguntas frecuentes
- El script de instalación del entorno de desarrollo me arroja un error. Siga nuestra guía para obtener ayuda para resolver su problema.
- ¿Se espera que hable español? Por supuesto que no. Hacemos todo lo posible para ser lo más inclusivos posible con los voluntarios no españoles. No dude en utilizar el inglés en todos nuestros canales de comunicación y en su código. También hemos descubierto que Google Translate hace un trabajo decente al traducir el contenido en español de nuestra página de GitHub; le recomendamos que lo utilice para navegar por nuestro rastreador de problemas, wiki, etc.
- ¿Cuántas plazas tendrá su organización para GSoC 2026? Solicitaremos 4 estudiantes este año, pero aún no hay garantía, lo sabremos con seguridad hasta mediados de mayo de 2026.
- ¿Cómo eliges a tus estudiantes? Revisaremos cada solicitud que recibamos y elegiremos a nuestros candidatos en función de tres cosas:
- Nivel de habilidad del candidato. Hay dos buenas formas de mostrar su nivel de habilidad en su aplicación: mediante solicitudes de extracción impactantes enviadas a nuestros repositorios (esta es la forma recomendada) o mediante experiencia previa. Asegúrese de incluir evidencia de al menos uno de ellos en su solicitud.
- Plan de trabajo del candidato. Te pedimos que escribas un diseño de alto nivel de tu proyecto siguiendo nuestra plantilla de propuesta *Ajuste cultural. Nos gustan las personas que promueven la inclusión en la organización y ayudan de manera proactiva a sus pares. Una buena manera de ayudar a otros candidatos cuando hacen preguntas en el canal de Discord.
- ¿Hay alguna aplicación de muestra que pueda ver? Dos buenas muestras son: *[propuesta de 2018] de Carlos Córdova(https://docs.google.com/document/d/1ZEnC33hW4WjZ1WcsDjEtuIeNPuvW62q_hBFjhFosLOI/edit#heading=h.30j0zll)
- [propuesta de 2018] de Vincent Fango (https://docs.google.com/document/d/1ei3AV1ByLpONbTgO3Grnl8aVOIL2hwz48IxLmDyuOWA/edit#heading=h.gjdgxs). También puedes ver la presentación final del proyecto de Vincent:

- ¿Puedo proponer una solución a múltiples problemas de la lista de ideas? Le pedimos que incluya el diseño de un solo proyecto en su solicitud. Cuando esté en la fase de codificación y si termine ese proyecto antes, será más que bienvenido a trabajar en un proyecto adicional.
- ¿Hay más oportunidades en omegaUp para mí si no soy seleccionado para GSoC? Por supuesto que las hay. Siempre damos la bienvenida a nuevos voluntarios que estén interesados en apoyar nuestros esfuerzos. Una vez que se publiquen los resultados, no dude en seguir solicitando elementos de trabajo.