/2019.2-Recomendacao-de-Matricula

projeto recomendaçao de matricula nas disciplinas da unb

Primary LanguageJavaScript

Grupo 15 - Projeto de recomendação de matrícula nas disciplinas da UNB

Recomendações de Matrícula para disciplinas na UnB

Projeto destinado à aplicação, que é uma extensão para Google Chrome, que realiza um auxilio aos estudantes durante o periodo de matricula em disciplina, através da sugestão de disciplinas para matrícula.

Instalação:

É necessário ter o Node.JS instalado para poder compilar os arquivos gerados pelo ReactJS; Basta seguir o guia do link abaixo para instalá-lo

Guia para instalação do Node.JS

É necessário ter a versão mais atualizada do Python; Basta seguir o guia do link abaixo para instalá-lo

Guia para instalação do Python

Execução:

Instalando a extensão pela Web Store

Uma forma mais prática e acessível de um usuário comum instalar a extensão no seu navegador chrome.

ou

Em modo de desenvolvedor

Para executar a extensão é necessário que se execute o que gera os arquivos da extensão pelomenos uma vez (ou a cada alteração no código para os arquivos serem atualizados). Uma vez executado esse basta ativar o Modo de Desenvolvedor no Google Chrome e adicionar a extensão descompactada ao navegador (a cada alteração na extensão, ela deverá ser atualizada manualmente no navegador).

Executando o script que gera os arquivos:

  • Na pasta "/Recomendação de Matrícula" se encontra o arquivo "build.py"

  • Execute-o usando o comando

    python3 build.py
    
  • Se houver sucesso na execução do script, a pasta "Recomendação de Matricula/extensao" será gerada

Ativando o Modo de Desenvolvedor do navegador:

  • No Google Chrome, acesse o endereço "chrome://extensions"
  • No canto superior direito, ative o botão estilo switch referente ao modo de desenvolvedor

Adicionando e Atualizando a extensão

Adicionando a extensão pela primeira vez:
  • Na parte superior esquerda da tela, no endereço "chrome://extensions", clique no botão Carregar sem Compactação
  • Selecione a pasta "Recomendação de Matricula/extensão"
  • Pronto, a extensão foi adicionada ao chrome
Atualizando a extensão:
  • Uma vez que a extensão foi adicionada no Chrome, ela não precisa ser adicionada novamente
  • Depois que executado o script de compilar a extensão, basta clicar no ícone de seta circular localizado no card da extensão na própria página "chrome://extensions"

Sobre funcionalidade:

A extensão para Google Chrome tem como objetivo facilitar a escolha de disciplinas para os alunos matrículados na Universidade de Brasília (UNB).

A UNB tem o Matrícula Web como plataforma de matrículas, logo a extensão tem que trabalhar em conjunto com essa plataforma. Esse serviço de gestão de matrículas do Matrícula Web não disponibiliza nenhuma API para requisição de dados, logo, toda a programação da captura de dados para as recomendações de matrículas estão sendo feitas aqui nesse projeto.

Das funcionalidades:

Disponíveis e úteis para o usuário, podemos citar:
  • Highlight de matrículas disponíveis para matrícula na página de oferta de disciplinas
    • O destaque é relativo às matérias já cursadas pelo usuário, as matérias que o usuário pode cursar, as matérias que ele não pode cursar e as matérias em que o usuário está notificado como em condição de desligamento
Internas, com o objetivo de integrá-las para que as funcionalidades para o usuário existam
  • In a nutshell, a extensão verifica se o usuário está logado no Matrícula Web, recolhe dados do usuário (como disciplinas já concluídas) na página de quadro resumo por meio de um Crawler, verifica situação de pré-requisitos e co-requisitos das matérias para poder classificá-las, recolhe dados sobre condição de desligamento da faculdade na página do histórico escolar, organiza os dados e integra as funcionalidades usando o ReactJS para o usuário poder ter uma rápida identificação do interesse dele.

Para contribuir:

  • Use o GitHub para fazer um fork do repositório principal.

  • Clone o seu fork em sua máquina local.

  • Faça commit explicando claramente o motivo de cada alteração.

  • Faça push de suas alterações para o seu fork.

  • Use o GitHub para submeter um pull request do seu fork para o repositório principal, incluindo uma descrição clara das alterações propostas.