- Estrutuar de Diretórios e Visão Geral
A organização do projeto Igor segue uma estrutura modular para facilitar a manutenção e o desenvolvimento. Abaixo, apresanto o layout principal:
projeto-igor/
├── bin/ # Contém executáveis compilados
├── conf/ # Arquivos de configuração do sistema
│ └── parametros.json # Configurações globais da aplicação
├── docs/ # Documentação técnica e guias
├── libs/ # Bibliotecas e módulos essenciais
├── scripts/ # Scripts de automação e operações
│ └── run_app.sh # Script para iniciar a aplicação
├── app/ # Código-fonte da aplicação
│ ├── entry.py # Módulo de entrada principal
│ └── ... # Outros módulos da aplicação
├── tests/ # Testes automatizados
└── CONTRIBUTING.md # Diretrizes para contribuição
- bin/: Destinado a binários e ferramentas executáveis geradas durante o build.
- conf/: Armazena configurações em formatos como JSON, definindo parâmetros de execução.
- docs/: Inclui manuais de uso, arquitetura e referências para desenvolvedores.
- libs/: Contém dependências internas e wrappers para funcionalidades centrais.
- scripts/: Oferece scripts para tarefas comuns, como inicialização e deploy.
- app/: Diretório principal do código, com a lógica de negócios e APIs.
- tests/: Organiza testes unitários e de integração para validação do código.
- CONTRIBUTING.md: Documento que orienta colaboradores sobre processos e normas.
- Script de Inicialização da Aplicação
O processo de startup é gerenciado pelo script scripts/run_app.sh, que configura o ambiente e lança a aplicação. Veja um exemplo simplificado:
#!/bin/bash
# Define variáveis de ambiente para a aplicação
export APP_CONFIG_FILE="./conf/parametros.json"
# Executa o módulo principal usando o interpretador Python
python3 app/entry.py
Neste script, a variável APP_CONFIG_FILE é definida para localizar o arquivo de configuração, e o comando python3 invoca o ponto de entrada da aplicação. É importante garantir que as permissões de execução estejam corretas no script.
- Arquivo de Configuração Principal
As configurações da aplicação estão no arquivo conf/parametros.json, que utiliza o formato JSON para definir parâmetros críticos. Segue um exemplo de estrutura:
{
"servidor": {
"endereco": "0.0.0.0",
"porta": 9090,
"ativar_logs": true
},
"banco_de_dados": {
"host": "localhost",
"porta": 27017,
"usuario": "administrador",
"senha": "senha_forte",
"nome_banco": "igor_db"
}
}
Este arquivo configura o servidor de aplicação, incluindo endereço, porta e nível de logging, além de estabelecer os detalhes de conexão com o banco de dados. A aplicação lê esas configurações durante a inicialização para ajustar seu comportamento.