Ir para o conteúdo

GSoC 2026

Nesta página

Lista de ideias

Incentivamos você a visitar omegaup.org e omegaup.com para conhecer nossa plataforma e recursos. E lembre-se, esta é uma Lista de Ideias. Esperamos que você complete a maioria dos detalhes de sua proposta e você também pode propor sua própria ideia de projeto. Não hesite em entrar em contato em caso de dúvidas ou novas ideias em nosso canal Discord!

Otimização de consulta e benchmarking de desempenho

Breve descrição:

Este projeto visa melhorar o desempenho da plataforma otimizando consultas SQL que atualmente precisam fazer varreduras completas de tabelas e implementando 2 testes de integração:

  • Um teste de integração que analisa o EXPLAIN de todas as consultas para determinar se é eficiente ou não.
  • Um teste de integração que analisa o desempenho de todas as consultas executando-as em um conjunto de dados sintético com dimensões comparáveis ​​às de produção.

O objetivo é garantir tempos de resposta rápidos para operações frequentes e garantir escalabilidade em cenários de alta carga. Mais detalhes sobre os requisitos podem ser encontrados em este documento.

Status atual:

  • Consultas lentas foram identificadas e documentadas em um rastreador de consultas.
  • O progresso é acompanhado na edição mestre #8277, que lista PRs criados e mesclados.
  • Principais PRs: #8450 (Script para preencher o banco de dados) e #8423 (Script de detecção de consulta ineficiente).

Resultados esperados:

Redução significativa no tempo de execução de consultas já identificadas como ineficientes. Um sistema de benchmarking reproduzível para avaliar melhorias de desempenho. Os testes de integração evitam a introdução de novas consultas ineficientes no futuro.

Habilidades preferidas:

  • Otimização de consulta SQL
  • MySQL *Píton *PHP *YML

Possível mentor:

Ankitsinghsisodya, pabo99, carlosabcs

Tamanho estimado do projeto:

350 horas

Nível de habilidade:

Médio

Painel de monitoramento e alertas de desempenho

Breve descrição:

Defina e implemente métricas de desempenho significativas para os serviços executados pelo omegaUp, incluindo: servidor front-end, avaliador, gitserver, servidor MySQL. Além desse monitoramento, alguns limites devem ser definidos para nos alertar sobre nosso email e/ou folga. Já existem alguns monitoramentos e alertas básicos, e este projeto exige uma grande melhoria além disso.

Resultados esperados:

O monitoramento e os alertas nos permitem detectar e depurar problemas de produção antes que os usuários comecem a ser significativamente afetados.

Habilidades preferidas:

  • Nova relíquia *SQL *PHP *Píton

Possível mentor:

heduenas, iqbalcodes6602

Tamanho estimado do projeto:

350 horas

Nível de habilidade:

Médio

Migrando do Vue 2 para o Vue 3

Breve descrição:

O Vue.js 2 atingiu oficialmente seu EOF (End of Life) em favor do Vue.js 3. Precisamos migrar para evitar riscos de segurança e depreciação de dependência e para aproveitar as vantagens do desempenho aprimorado do Vue 3.

Resultados esperados:

omegaup.com é executado totalmente no Vue.js 3 e não depende do Vue.js 2.

Habilidades preferidas:

  • Vue.js
  • Datilografado *PHP
  • API REST

Possível mentor:

pabo99, iqbalcodes6602, carlosabcs

Tamanho estimado do projeto:

350 horas

Nível de habilidade:

Médio

Migrando Bootstrap 4 para 5

Breve descrição:

Migre a UI para Bootstrap 5 para modernizar a UI substituindo jQuery por Vanilla JavaScript, resultando em uma base de código mais leve e rápida. Esta atualização permitirá temas mais fáceis por meio de variáveis ​​CSS e eliminará o suporte legado do IE para adotar padrões modernos da web. Em última análise, reduz o débito técnico ao mesmo tempo que fornece um sistema de rede mais responsivo, adaptado para exibições de alta resolução.

Resultados esperados:

A interface do usuário omegaUp é totalmente executada no bootstrap 5 e não depende do boostrap 4.

Habilidades preferidas:

  • Vue.js
  • Datilografado *PHP
  • API REST

Possível mentor:

pabo99, iqbalcodes6602, carlosabcs

Tamanho estimado do projeto:

350 horas

Nível de habilidade:

Médio

Otimização de Cronjob

Breve descrição:

Temos vários cronjobs responsáveis por coisas como atualizar classificações de alunos/escolas, conceder distintivos a alunos, etc. Com o tempo, eles se tornaram ineficientes, propensos a erros e difíceis de depurar. Queremos torná-los mais eficientes, aumentar a cobertura de testes e melhorar a capacidade de depuração.

Resultados esperados:

Cronjobs tornam-se muito mais enxutos, rápidos e fáceis de manter.

Habilidades preferidas:

*Píton * Otimização de consulta SQL *PHP * API REST

Possível mentor:

Ankitsinghsisodya, iqbalcodes6602, carlosabcs

Tamanho estimado do projeto:

350 horas

Nível de habilidade:

Alto

Integrar Criador de Problemas

Breve descrição:

Um projeto do GSoC do ano passado introduziu o Problem Creator, um editor visual que ajuda os autores de problemas a criar e editar problemas com mais facilidade. No entanto, o Problem Creator ainda não está totalmente integrado ao omegaUp. Atualmente, os autores devem escrever seu problema no Creator, baixar um .zip e carregá-lo manualmente. Este projeto visa agilizar esses fluxos de trabalho integrando totalmente o Problem Creator com os recursos nativos de criação e edição do omegaUp.

Status Atual:

  • Um documento pdesign técnico foi escrito para este projeto.
  • Alterações de back-end concluídas:
  • #8470 Classes e validações de CDP, classes principais de CDP adicionadas e lógica de validação.
  • #8479 Novo método no ProblemDeployer para modificar ZIPs problemáticos, permite atualizar o conteúdo ZIP problemático durante a implantação.
  • #8554 Correções do CDPBuilder e cobertura de testes de unidade, problemas corrigidos no CdpBuilder e adição de um teste de unidade para garantir a correção.
  • #8606 Suporte a idiomas no CDPBuilder, suporte multilíngue adicionado com prioridade baseada na preferência de idioma
  • #8613 Lógica de back-end para edição de casos e CDP, lógica do lado do servidor adicionada para suportar edição de casos e atualizações de CDP.
  • Alteração inicial da IU concluída: #8593 Os componentes CasesForm e DeleteConfirmationForm introduziram os formulários de IU básicos necessários para gerenciar casos
  • Trabalho pendente (principalmente relacionado à UI)
  • #8471 Integre o CDP ao formulário do problema e lide com ZIPs externos
  • #8492 Implementação de UI para a interface de edição
  • #8595 Integração de UI: visualização de edição, CaseEdit e barra lateral

Resultados esperados:

Uma experiência de usuário completa e perfeita, onde os autores podem criar ou editar problemas diretamente por meio do Problem Creator, sem transferências manuais de arquivos.

Habilidades preferidas:

  • Vue.js
  • Datilografado *PHP
  • Teste de Integração

Possível mentor:

pabo99, heduenas, Ankitsinghsisodya

Tamanho estimado do projeto:

175 horas

Nível de habilidade:

Alto

Como acelerar o

Se você está interessado em passar este verão colaborando conosco, em primeiro lugar, estamos honrados por você estar interessado em nossa organização e queremos tornar o processo de inscrição o mais tranquilo e agradável possível para você. Para se familiarizar com omegaUp.com e começar a colaborar conosco, siga estas etapas:

Processo de aplicação

Nosso processo de inscrição consiste em três fases. Se você quiser participar conosco este ano, deverá preencher cada uma delas na ordem.

Fase Um: Conclua nosso teste

  • Primeiro, crie uma conta em omegaUp.com.
  • Participe do nosso GSoC 2026 teste omegaUp. O teste consiste em 3 problemas, você tem que resolver pelo menos 2 deles para passar. No caso de plágio, desqualificaremos os candidatos envolvidos, portanto, não compartilhe suas soluções com outros candidatos.

nota: url alternativo para o teste: omegaUp Test

Fase Dois: Familiarize-se com nossa base de código

Pedimos que você conclua a primeira fase antes de começar a trabalhar com nossa base de código.- Siga o guia configuração do ambiente de desenvolvimento. - Encontre um bug interessante para resolver em nosso rastreador de problemas (especialmente em nossa lista de "Bom primeiro problema", ou entre em contato com o canal Discord solicitando um e teremos o maior prazer em encontrar uma boa opção para você. A maioria das conversas no rastreador de problemas são em espanhol, mas sinta-se à vontade para mudar a conversa para inglês sobre qualquer problema. Alternativamente, você pode ir e encontre bugs no omegaup.com, relate-os em nosso rastreador de problemas e corrija-os. - Implemente sua correção e envie-a para revisão. Depois de mesclado, você pode passar para a terceira fase.

Fase Três: Escrevendo sua proposta

Nesta etapa esperamos que você esteja familiarizado com nosso ambiente de desenvolvimento e código, pois isso facilita a compreensão de nossas ideias de projeto. Pedimos que você mescle pelo menos três PR em um dos repositórios omegaUp antes de trabalhar no design de um projeto específico.

  • Crie um documento de design para o seu projeto usando este modelo. Se quiser trabalhar em mais de um projeto, pedimos que mencione isso na sua candidatura, mas inclua apenas um design. Isso reduz a carga de trabalho dos revisores.
  • Também encorajamos você a enviar-nos seu rascunho de proposta para revisar e dar feedback. Envie o link do seu rascunho através deste formulário https://forms.gle/TbbscnWA5B2ZWfJq7. Certifique-se de que qualquer pessoa com o link possa ver e comentar.
  • Tentaremos fornecer o máximo de feedback possível e o mais rápido possível. No entanto, não forneceremos feedback aos candidatos que não tenham concluído com êxito as fases 1 ou 2.
  • Quando você considerar que sua inscrição está pronta, não esqueça de enviá-la para Google porque se não fizer isso, você não poderá ser considerado no GSoC 2026.

Fase Quatro: Entrevista com a organização

Após o envio dos documentos de design, selecionaremos uma pequena lista de candidatos com base nas 3 primeiras fases e agendaremos entrevistas por telefone com eles. A entrevista consistirá em questões comportamentais e técnicas.

Consideraremos apenas candidatos que concluíram todas as 4 fases da inscrição.

Comunicações

Se você tiver dúvidas sobre o ambiente de desenvolvimento, a base de código ou como funciona o processo de inscrição do GSoC no omegaUp, siga nosso guia obtenção de ajuda para que sua pergunta seja respondida com eficiência.

Nosso principal meio de comunicação com os candidatos ao GSoC é o nosso canal Discord. Convidamos você para participar!

Perguntas frequentes

  • O script de instalação do ambiente de desenvolvimento está gerando um erro. Siga nosso guia obtenção de ajuda para resolver seu problema.
  • Devo falar espanhol? Claro que não. Tentamos o nosso melhor para sermos o mais inclusivos possível para os voluntários não espanhóis. Fique à vontade para usar o inglês em todos os nossos canais de comunicação e em seu código. Também descobrimos que o Google Translate faz um trabalho decente na tradução do conteúdo em espanhol de nossa página GitHub. Recomendamos que você o use para navegar em nosso rastreador de problemas, wiki, etc.
  • Quantas vagas sua organização terá para o GSoC 2026? Pediremos 4 alunos este ano, mas ainda não há garantia, teremos certeza até meados de maio de 2026.
  • Como você escolhe seus alunos? Analisaremos cada inscrição que recebermos e escolheremos nossos candidatos com base em três coisas:
    • Nível de habilidade do candidato. Existem duas boas maneiras de mostrar seu nível de habilidade em sua aplicação: através de pull requests impactantes enviados para nossos repositórios (esta é a forma recomendada), ou através de experiência anterior. Certifique-se de incluir evidências de pelo menos um deles em sua inscrição.
    • Plano de trabalho do candidato. Pedimos que você escreva um design de alto nível do seu projeto seguindo nosso modelo de proposta
    • Ajuste cultural. Gostamos de pessoas que promovem a inclusão na organização e ajudam proativamente os colegas. Uma boa maneira de ajudar outros candidatos quando eles fazem perguntas no canal Discord.
  • Existe algum exemplo de aplicativo que eu possa ver? Dois bons exemplos são:
  • Carlos Cordova proposta de 2018
  • [proposta de 2018] de Vincent Fango (https://docs.google.com/document/d/1ei3AV1ByLpONbTgO3Grnl8aVOIL2hwz48IxLmDyuOWA/edit#heading=h.gjdgxs). Você também pode assistir à apresentação final do projeto de Vincent:
    instalação do ambiente de desenvolvimento omegaUp no Windows
  • Posso propor uma solução para vários problemas da lista de ideias? Pedimos que você inclua o design de apenas um projeto em sua inscrição. Quando você está na fase de codificação e termina o projeto mais cedo, você é mais que bem-vindo para trabalhar em um projeto adicional.
  • Há mais oportunidades no omegaUp para mim se eu não for selecionado para o GSoC? Claro que existem. Sempre recebemos novos voluntários interessados em apoiar nossos esforços. Depois que os resultados forem divulgados, fique à vontade para continuar solicitando itens de trabalho.