Executando verificação de segurança...
5

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 do repo: https://github.com/samuelluzsantana/ufabc-horarios

Carregando publicação patrocinada...
1

Parabéns pelo projeto! Como ele deve ser usado? Eu entrei no site e selecionei umas matérias aleatórias, e não apareceu nada na Semana A e Semana B. Eu não sei se estou usando errado.