Para melhor divisão e organização, o EducaMinas está dividido em dois repositórios.
Você está no Backend. Acesse também:
O EducaMinas é um projeto desenvolvido na disciplina Métodos de Desenvolvimento de Software (MDS) ofertada no curso de Engenharia de Software na Universidade de Brasília (UnB), que visa reunir em um único local dados sobre a educação no estado de Minas Gerais, utilizando informações extraídas da pesquisa educacional realizada pelo INEP. A plataforma permite diferentes interpretações dos dados, com ênfase no aspecto social do ensino mineiro.
O projeto é um software livre e está sob a licença MIT.
Siga os passos abaixo para executar o backend do EducaMinas:
Para rodar o projeto é fundamental ter algumas dependências globais:
- Node
- Miniconda/Python
Para visualizar versões, links e as instruções completas de configuração do ambiente: Ambiente e Pré-requisitos
Após configurar o Ambiente e Pré-requisitos, em um diretório de sua máquina, abra o terminal e execute:
git clone https://github.com/unb-mds/2024-1-EducaMinas-backend.git
Com o repositório do backend devidamente clonado, você terá acesso à aplicação Express e ao Scraper:
Navegue até o diretório raiz do repositório clonado:
cd 2024-1-EducaMinas-backend
Em seguida instale as dependências do EducaMinas:
npm install
Navegue até o diretório WebScrapper
:
cd WebScrapper
Crie um ambiente virtual com conda:
conda create --name <my-env>
Ative o ambiente criado:
conda activate <my-env>
Instale as dependências e bibliotecas dentro do ambiente virtual:
conda install --yes --file requirements.txt
O script ETL acessa o banco de dados por meio de um .env
encontrado no caminho
WebScrapper/DataETL/.env
. A sua estrutura está escrita abaixo:
DATABASE_USERNAME=<INSERIR AQUI>
DATABASE_PASSWORD=<INSERIR AQUI>
DATABASE_NAME=<INSERIR AQUI>
DATABASE_PORT=<INSERIR AQUI>
DATABASE_HOST=<INSERIR AQUI>
Para executar a aplicação Express em sua máquina, execute no diretório raiz:
npm run start
O servidor será inicializado e estará disponível na porta 3001 do localhost:
http://localhost:3001/
Demais comandos para execução de testes, builds e linter podem ser encontrados na guia scripts do arquivo package.json
na pasta raiz.
Com a api rodando localmente é possível acessar sua documentação e testá-la no Swagger, basta acessar:
http://localhost:3001/api-docs
Com o ambiente ativado como instruído acima, para extrair os dados do Oracle Data com o selenium execute:
DataScraper/InepScrapper.py
Para tratar e carregar os dados extraídos, em modo debugger, acesse WebScrapper/DataETL
, lembre-se de selecionar o ambiente conda que foi criado, e então para rodar o programa por partes, execute:
ETLDebugger.ipynb
Se preferir, e não precisar/quiser rodar em modo debugger(por partes), execute o código para produção:
python3 WebSrapper/DataETL/main.py
Para acessar o guia completo de contribuição: Guia de Contribuição
Nele, você encontra as respostas para as seguintes questões:
Para acessar a documentação completa: Documentação EducaMinas
Nela, você encontra os seguintes tópicos:
Confira a visualização geral da arquitetura do EducaMinas:
Acesse nosso Board no GitHub e acompanhe o desenvolvimento dos dois repositórios simultâneamente: Board EducaMinas
Visualize nosso protótipo diretamente no FIGMA: Protótipo EducaMinas