flask# Como Contribuir - Seu Passaporte de Entrada
Estamos felizes em receber você aqui e saber que está interessado em contribuir para o nosso projeto. Como um projeto de código aberto, cada contribuição é valorizada e ajuda a impulsionar o crescimento e a qualidade do nosso trabalho. Este guia foi criado para orientá-lo sobre como você pode participar e fazer parte da nossa comunidade de desenvolvimento. Estamos ansiosos para ver suas contribuições e trabalhar juntos para tornar nosso projeto ainda melhor!
Para garantir um ambiente respeitável e inclusivo, leia e siga nosso Código de Conduta.
Contribuir para o nosso projeto é fácil e estamos ansiosos para receber suas contribuições! Antes de entrarmos nos passos para instalação da aplicação, você precisará configurar algumas ferramentas e preparar seu ambiente de desenvolvimento.
Aqui está o que você precisa:
- Git
- Docker, para utilização de contâineres. É opcional, mas recomendamos o seu uso.
- Caso opte por não utilizar Docker:
Vamos indicar aqui duas maneiras de instalar:
- utilizando o Docker
- utilizando um ambiente virtual
venv.
Mas, primeiro, vamos realizar algumas configurações comuns à essas maneiras de instalação.
-
clone o repositório e o acesse.
git clone https://github.com/Bug-Busters-F/alfalog-backend cd alfalog-backend -
Configure as variáveis de ambiente
cp .env.template .env
-
Abra o arquivo
.enve edite as credenciais de conexão com o banco de dados.# ... APP_DB_HOST= # database host APP_DB_USER= # database user APP_DB_PASS= # database password APP_DB_NAME= # database name APP_DB_PORT= # database port
docker compose up --build -dEsse comando irá
- criar a imagem Docker deste projeto
- buscar a imagem do banco de dados no repositório Docker
- Iniciar um container do banco de dados
- Iniciar um container deste projeto e criar as entidades no banco de dados.
O Flask está disponível em: http://localhost:5000
-
Crie o ambiente virtual
python -m venv venv # Windows - ative o ambiente source venv/Scripts/activate # Linux - ative o ambiente . venv/bin/activate # Mac - ative o ambiente source venv/bin/activate
-
Instale as dependências
pip install -r requirements.txt
-
Configuração do banco de dados. Nessa etapa, você precisará criar ou já ter um banco de dados e usuário configurado. Se ainda não tiver um banco de dados, crie na sua instância do MySQL:
CREATE DATABASE alfalog; CREATE USER 'alfalog'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON alfalog.* TO 'alfalog'@'localhost'; FLUSH PRIVILEGES;
-
Crie o banco de dados e as tabelas automaticamente
python -m database.create # executa database/create como um módulo Python. -
Execute a aplicação
flask run
O Flask está disponível em: http://localhost:5000
Para importar os dados de exportações e importações, além de dados secundários como UFs (Unidades Federativas), da base do COMEX, siga os seguintes passos.
-
Abra o Google Colab ou do repositório principal e execute a limpeza dos dados.
-
Em seguida, encontre dois arquivos .csv no seu Google Drive no diretório
/comex_data -
Faça o download dos dois arquivos e copie-os para uma pasta na raiz do projeto chamada
/datacom os seguintes nomes:# arquivo limpo de exportações dados_comex_EXP_2014_2024.csv # arquivo limpo de importações dados_comex_IMP_2014_2024.csv
-
Abra o Google Colab ou do repositório principal e execute a Previsão do comércio exterior para os próximos anos.
-
Faça o download dos três arquivos e copie-os para uma pasta na raiz do projeto chamada
/datacom os seguintes nomes:balanca_forecast_prophet_suavizado.csv exportacao_forecast_prophet_suavizado.csv importacao_forecast_prophet_suavizado.csv
-
Agora você pode importar os dados do COMEX executando o seguinte comando:
flask comex update # execute este comando para conhecer as opções flask comex update --help-
Caso queira importar os dados de uma única entidade, execute:
flask comex update <nome-entidade> # execute para saber as entidades existentes flask comex update --help # Por exemplo: flask comex update importacoes # para dados da importação
-
Alguns dados precisam ser processados para melhorar a execução do programa, para isso execute o seguinte comando. Ele exige que a importação de dados já tenha sido feita. Se ainda não a fez, faça primeiro seguindo esses passos.
flask comex process
# para mais informações, execute
flask comex process --helpA cada atualização é recomendado rodar todos os testes a fim de garantir o funcionamento do programa.
pytest