Sistema inteligente para recomendar Design Patterns baseado em casos de uso, utilizando IA generativa (Google Gemini API) através de uma interface de linha de comando.
Este sistema utiliza Inteligência Artificial para analisar casos de uso e recomendar os Design Patterns mais apropriados para cada situação. Ele é especialmente útil para desenvolvedores que precisam tomar decisões arquiteturais baseadas em boas práticas de design.
design-pattern-cli/
├── main.py # Ponto de entrada do sistema
├── cli.py # Interface de linha de comando
├── pattern_recommender.py # Lógica de recomendação usando Gemini API
├── model_manager.py # Gerenciamento dos modelos do Gemini
├── requirements.txt # Dependências Python
├── .env # Arquivo de configuração (não versionado)
└── README.md # Documentação do projeto
- Python 3.8 ou superior
- Conta Google com acesso à Gemini API (obtenha sua chave em https://makersuite.google.com/app/apikey)
- Conexão com a internet
- Clone o repositório:
git clone https://github.com/dgomp/design-pattern-cli.git
cd design-pattern-cli- Crie um arquivo
.envna raiz do projeto com sua chave Gemini:
GOOGLE_API_KEY=sua_chave_aqui
-
Gere sua API Key aqui (clique em Criar chave de API).
-
Instale as dependências Python:
pip install -r requirements.txtExecute o sistema:
python main.py- Interface via linha de comando intuitiva
- Seleção automática do modelo mais recente do Gemini
- Possibilidade de trocar o modelo durante a execução
- Análise de casos de uso usando IA generativa (Google Gemini)
- Recomendação dos 3 Design Patterns mais apropriados
- Porcentagem de confiança para cada recomendação
- Explicação detalhada e implementação separadas para cada padrão
- Exemplo completo de implementação para o padrão mais recomendado, incluindo:
- Nome da classe
- Lista de propriedades
- Lista de métodos
- Código completo da implementação
- Totalmente gratuito (requer conexão com a internet e chave Gemini)
- google-generativeai (API do Google Gemini)
- python-dotenv (variáveis de ambiente)
- Python 3.8+
main.py: Ponto de entrada do sistemacli.py: Interface de linha de comandopattern_recommender.py: Implementa a lógica de recomendação usando Gemini APImodel_manager.py: Gerencia os modelos do Gemini e suas configurações
- Execute o programa:
python main.py-
No menu principal, escolha a opção 1 para recomendar um padrão de design
-
Digite um caso de uso, por exemplo:
Preciso criar um sistema que permita diferentes formas de pagamento (cartão de crédito, boleto, pix) e que seja fácil adicionar novos métodos no futuro.
- O sistema retornará:
- Os 3 Design Patterns mais apropriados
- Porcentagem de confiança para cada padrão
- Explicação detalhada
- Sugestão de implementação
- Para o padrão mais recomendado:
- Nome da classe de exemplo
- Lista de propriedades
- Lista de métodos
- Código completo da implementação
- Use a opção 2 do menu para trocar o modelo do Gemini, se desejar
- O sistema configura automaticamente o modelo mais recente do Gemini
- Você pode trocar o modelo a qualquer momento através do menu
- Quanto mais detalhado for seu caso de uso, melhores serão as recomendações
- O sistema depende de conexão com a internet para acessar a Gemini API
- O exemplo de código fornecido pode ser usado como base para sua implementação
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.