Ferramenta Python com foco na geração de trabalhos acadêmicos em PDF.
- Geração de PDFs: Criação de documentos acadêmicos usando
fpdf2. - Integração HTTP: Comunicação com APIs externas via
requests. - Arquitetura Modular: Estrutura organizada em módulos (
core,services,ui,utils) para escalabilidade. - Gestão de Projetos Acadêmicos: Organização de trabalhos, instruções e arquivos de fontes e anexos.
- Python Moderno: Compatível com Python 3.10+.
- Python 3.10 ou superior
- Poetry (para gerenciamento de dependências)
# Clone o repositório
git clone https://github.com/cleitonleonel/AcademicManager.git
cd academic_manager
# Crie um ambiente virtual (opcional, mas recomendado)
python -m venv venv_academic
# Ative o ambiente virtual
source venv_academic/bin/activate # Linux/macOS
venv_academic\Scripts\activate # Windows
# Atualize o pip
python -m pip install --upgrade pip
# Instale as dependências
pip install -r requirements.txtPara instalar o Poetry, siga as instruções em https://python-poetry.org/docs/#installation.
Depois, clone o repositório e instale as dependências:
# Clone o repositório
git clone https://github.com/cleitonleonel/AcademicManager.git
cd academic_manager
# Instale as dependências
poetry install- Acesse o link https://aistudio.google.com e obtenha sua chave de api
- Renomeie o arquivo
config-dev.iniparaconfig.ini - Adicione a chave de api no arquivo
config.inina chaveapi_key - Salve o arquivo
- Reinicie o projeto
Execute a aplicação usando o ponto de entrada principal:
python main.pyOu através do Poetry:
poetry run python main.pyacademic_manager/
├── academic_manager/
│ ├── builder.py # Criação e montagem de projetos acadêmicos
│ ├── constants.py # Constantes globais do sistema
│ ├── config/ # Configurações do projeto
│ │ └── settings.py
│ ├── core/ # Núcleo da aplicação
│ │ ├── file_manager.py
│ │ ├── pdf_generator.py
│ │ ├── project_manager.py
│ │ └── template_generator.py
│ ├── models/ # Modelos de dados
│ │ └── project.py
│ ├── services/ # Integrações externas e APIs
│ │ ├── aistudio_chat.py
│ │ └── bing_images.py
│ ├── ui/ # Interfaces e interações com o usuário
│ │ └── interface.py
│ └── utils/ # Funções auxiliares
│ └── helpers.py
├── academic_projects/ # Projetos e trabalhos acadêmicos organizados
├── tests/ # Testes unitários e de performance
├── main.py # Ponto de entrada
├── pyproject.toml # Configuração do Poetry
└── README.md # Este arquivo
Execute os testes usando pytest:
# Executar todos os testes
poetry run pytest
# Executar com verbose
poetry run pytest -v
# Executar testes específicos
poetry run pytest tests/academic_tests.pyCobertura de testes inclui:
- Execução normal da aplicação
- Tratamento de interrupção por teclado
- Propagação adequada de exceções
- Isolamento usando mocks
Produção:
fpdf2: Geração de documentos PDFrequests: Cliente HTTP para APIs
Desenvolvimento:
pytest: Framework de testespytest-mock: Mocking para testes
# Instalar dependências de desenvolvimento
poetry install --with dev
# Executar testes
poetry run pytest
# Adicionar nova dependência
poetry add <package>
# Adicionar dependência de desenvolvimento
poetry add --group dev <package>- Python >= 3.10
- Bibliotecas: fpdf2, requests, pytest, pytest-mock
- Sistema operacional: Linux, macOS, Windows
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Cleiton Leonel Creton - @cleitonleonel
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está em desenvolvimento ativo. Para relatórios de bugs ou solicitações de features, abra uma issue no GitHub.
