Meu Projeto Pessoal que simplifica o caos acadêmico da UFABC
Meu Primeiro Projeto Pessoal em Fase de Testes: UFABC-HORÁRIOS
Recentemente, coloquei em período de testes o meu primeiro projeto pessoal com um uso real e relevante, que vai além dos clássicos "to-do lists" ou experimentos com bibliotecas. Ele se chama UFABC-HORÁRIOS e foi desenvolvido para ajudar estudantes da Universidade Federal do ABC (UFABC) a organizarem suas grades de horários de forma prática e eficiente.
O Problema
Na UFABC, o sistema de graduação pode ser bastante confuso. Por ser uma instituição multidisciplinar, os estudantes escolhem as disciplinas que desejam cursar a cada quadrimestre, o que complica o planejamento. Além disso, o calendário inclui semanas alternadas (semana A e semana B), onde uma disciplina pode ocorrer em uma semana, mas não na outra, além de disciplinas quinzenais. Esse cenário torna difícil visualizar e organizar as aulas, resultando em dúvidas e até mesmo conflitos de horários.
A Solução: UFABC-HORÁRIOS
O UFABC-HORÁRIOS foi criado para simplificar esse processo. A ferramenta permite que os estudantes selecionem suas disciplinas e visualizem como seria a distribuição semanal das aulas. Além disso, implementei um recurso para salvar as disciplinas diretamente na URL. Assim, ao selecionar as matérias desejadas, o estudante pode acessar novamente o link, como este exemplo:
https://ufabc-horarios.vercel.app/lista-disciplinas?disciplinas=90979,90951
Isso elimina a necessidade de buscar manualmente todas as disciplinas novamente.
O Contexto e os Desafios
Embora já existisse um projeto similar, criado também por um estudante da UFABC em 2016, o repositório está inativo desde então. Percebi uma oportunidade de atualizar a solução e, ao mesmo tempo, aprender mais sobre frameworks modernos.
Enquanto o projeto do Montador de Grades do Rafael (rafael-telles), foi desenvolvido em Angular, o UFABC-HORÁRIOS foi construído com Next.js, oferecendo uma experiência mais moderna e compatível com os padrões atuais. O código serviu como um ótimo ponto de partida, mas algumas partes precisaram ser totalmente refeitas para atender às novas demandas.
Um dos maiores desafios foi obter a lista de disciplinas. A UFABC não oferece uma API oficial para esse propósito, então precisei explorar o site da matrícula e localizar um arquivo específico. Esse arquivo, na verdade, é um HTML estático contendo um JSON embutido, o que foi confuso de interpretar no início, mas acabou sendo uma experiência valiosa para o meu
aprendizado (pretendo falar mais sobre no futuro).
Resultados e Próximos Passos
O projeto ainda está em fase de testes, e já comecei a identificar e corrigir alguns bugs. Todo o processo de desenvolvimento tem sido incrivelmente enriquecedor, tanto do ponto de vista técnico quanto pessoal. O próximo passo é aprimorar ainda mais a ferramenta, coletar feedback dos usuários e explorar outras funcionalidades que possam agregar ainda mais valor aos estudantes da UFABC.
O UFABC-HORÁRIOS foi um projeto bastante importante para mim, aonde pude desafiar minhas competencias tecnicas e ver que com um pouco de esfoço e uma ideia que pode causar beneficios para outras pessoas, pode sair do papel com o planejamento certo.
link da aplicação: https://ufabc-horarios.vercel.app/lista-disciplinas
link do repo: https://github.com/samuelluzsantana/ufabc-horarios