GeovaneSchmitz / sigaa-api

Unofficial high performance API for SIGAA (Sistema Integrado de Gestão de Atividades Acadêmicas) using web scraping.
MIT License
40 stars 11 forks source link

Listagem de componentes (disciplinas) #40

Open irwinschmitt opened 1 year ago

irwinschmitt commented 1 year ago

Estou desenvolvendo um sistema que recomenda matrícula em disciplinas baseado no histórico acadêmico da pessoa: o que já cursou, o que ainda falta cursar etc.

Para isso, preciso de informações sobre departamentos, currículos e componentes (pré-requisitos, corequisitos e equivalências).

Obs.: No SIGAA da UnB, as disciplinas são, na verdade, um componente do tipo disciplina. um componente pode ser do tipo disciplina, atividade, bloco ou módulo. Dá uma olhada aqui.

Há alguma forma de obter os dados de todos os componentes/disciplinas?

Estava desenvolvendo um scraper para obter tais dados, porém acho mais interessante contribuir para o projeto.

Raphides commented 1 year ago

Acredito que dê sim, mas essa api ainda não tem essa funcionalidade. Ontem eu fiz essa issue #39 propondo algo parecido, mas de outra página do sigaa. Mesmo sendo propostas diferentes, eu dei uma olhada na página que você citou e acredito que de fato sejam problemas com soluções complementares e similares ao que já foi implementada na API para listar os docentes (veja o resultado replicando o código do exemplo de busca).

dduartee commented 1 year ago

Olá, eu já estive dando uma olhada e tem a aba de listar turmas e essa de buscar componentes/disciplinas que você mencionou.

sigaa/public/componentes/busca_componentes.jsf image

sigaa/public/turmas/listar.jsf image Essa busca apenas por departamento e aparece as turmas ativas de cada componentes curriculares.

Em ambas as páginas tem a opção para entrar dentro do componente. A diferença entre elas é que a página de listar turmas tem mais informações sobre o componente curricular.

Se clicar na lupa do componente curricular "ESTATÍSTICA COMPUTACIONAL", obtemos uma página com várias informações e uma delas é os códigos dos componentes curriculares que são pré-requisitos, co-requisitos e equivalências desse componente curricular.

image

Acredito que ambas as issues #39 e #40 tratam do mesmo assunto. Verifiquei se há alguma semelhança com o SIGAA IFSC, e muda algumas coisas, para a atualização deve-se separar as classes de cada instituição.

O repositório está um pouco conturbado, eu invoco o @GeovaneSchmitz para ver o que está rolando na build gerada na instalação do npm, o erro está descrito na issue #36 aqui.