feat(periodos): melhoria na obtenção de períodos #232
Labels
API
related to API communication
back-end
related to back-end development
feature request
New feature or request
Problema
Na Universidade de Brasília, nem sempre os semestres estão alinhados com o calendário. Por exemplo, ainda estamos no período
2024/1
e esse período não é mais listado.Por conta disso, o Sua Grade UnB pode não funcionar de maneira satisfatória por um certo período de tempo. Tempos atrás, não existia nem mesmo as matérias previstas para o semestre
2024/2
. No site do projeto, apareciam apenas os períodos de2024/2
e2025/1
. Ou seja, estava totalmente inutilizado.Outra coisa interessante, é que o site de listagem mostra períodos de férias (e até mesmo além, um quarto período 🤔 ), coisa que o Sua Grade também não acoberta atualmente.
A listagem de períodos deveria ser aqueles que temos (e que estejam atualizados) no banco de dados.
Solução desejada
Realizar a listagem normalmente do período em que estamos, além de acobertar futuros semestres, incluindo aqueles de verão. Essa listagem de períodos deve considerar apenas aqueles que estão no nosso banco de dados.
Alternativas consideradas
Atualmente, a obtenção de períodos é realizada fielmente através da data atual, sendo os semestres delimitados através do mês do ano. Ao invés disso, acredito que a solução de todos os problemas supracitados, seria a pesquisa (através do webscraping) de todos os períodos a partir do ano atual e dos anos vizinhos (antecessor e sucessor).
O que deve ser pensado
Contexto adicional
O site de listagem possui uma característica um tanto quanto interessante. A medida em que os períodos passam, eles não são mais mostrados. Por conta disso, este poderia ser o nosso "parâmetro" para deleção automática das matérias do banco de dados. Se não é mais possível realizar a atualização, significa que o dado não é mais útil no ponto de vista da universidade.
Checklist
Todas as alterações são a nível de back-end.
The text was updated successfully, but these errors were encountered: