data-lattes Projeto da disciplina de Tópicos em Computação II do curso de Bacharelado em Sistemas de Informação da UFPA.
Objetivos
- Coletar dados da plataforma Lattes
- Tratar e analisar os dados obtidos
- Mostrar os dados obtidos com gráficos em páginas web utilizando D3.js
Equipe
- Francielma Assunção
- José Perdigão
- Pedro Sousa
- Rafael Paixão
- Raphael Campos
- Wellington Santos
- Yuri Melo
Tecnologias
- Python 3
- Pip ou Pipenv
- Flask, Flask-Migrate, Flask-Bootstrap, Flask-SQLAlchemy
- Pytest
- gunicorn
- D3.js
Ambiente de desenvolvimento
Preparação
- Instalar o Python
- Clonar o projeto
git clone https://github.com/SousaPedro11/data-lattes.git
- Mude para o diretório raiz do projeto
- Criar um ambiente virtual para isolar a instalação das dependências, utilizando pip ou pipenv
Usando Pipenv
-
Instalar o pipenv utilizando o pip
No Linux seria:
sudo pip install pipenv
-
Criar o abiente virtual
- Verificar e se preciso alterar para 3.8 a versão do Python no arquivo Pipfile
- Criar o ambiente com:
pipenv --three
-
Instalar dependências
- Entrar no shell do pipenv:
pipenv shell
- Instalar dependencias com:
pipenv install
- Entrar no shell do pipenv:
Usando pip
- criar o abiente virtual
python -m venv venv
- Ativar o ambiente virtual
- No Linux
source ./venv/bin/activate
- No Windows
.\venv\Scripts\activate
- No Linux
- instalar dependências
- instalar dependencias com:
pip install -r requirements.txt
- instalar dependencias com:
Como executar
Padrão
Para acesso em http://localhost:5000
flask run
Gunicorn (standalone server - somente Linux)
Para acesso em http://localhost:5000
gunicorn --workers=5 --bind=0.0.0.0:5000 --access-logfile - --error-logfile - 'run:app'
ou Para acesso em http://localhost:8000
gunicorn --workers=5 run:app
Deploy (execução no Heroku)
O deploy é automatizado, atualmente, utilizando a branch flask_develop.
O link da produção: https://data-lattes.herokuapp.com/
Estrutura do projeto Flask
Breve descrição
- .env e .flaskenv: arquivos de configuração das variáveis de ambiente
- config.py: arquivo com classes de configuração
- run.py: arquivo principal do flask, equivalente ao main.py
- app: diretório da aplicação flask.
- app/_init_.py: arquivo que contém a factory da aplicação flask
- app/datalattes: diretório da Blueprint responsável pelo roteamento
- app/datalattes/_init_.py: arquivo de definição da Blueprint
- app/datalattes/views.py: contém a lógica do roteamento
- app/static: diretório que contém os diretórios dos arquivos estáticos da aplicação
- app/templates: diretório que contém os .html das páginas