Este projeto consiste na implementação de um Mini Sistema de Gerenciamento de Relacionamento com o Cliente (Mini-CRM). O objetivo principal é demonstrar a aplicação sólida e prática dos pilares da Programação Orientada a Objetos (POO) em uma estrutura modular em Python.
O sistema simula o cadastro de diferentes tipos de clientes (Contatos e Leads) e o registro de suas interações (ligações, reuniões), mantendo um visual de listagem profissional no terminal.
Este projeto serve como uma excelente demonstração dos seguintes conceitos:
- Classes: Estrutura modular em
Contato,InteracaoeGerenciadorCRM. - Atributos: Utilizados para definir o estado de cada objeto (ex:
nome,status,historico_interacoes). - Métodos: Definem o comportamento e as ações (ex:
adicionar_contato(),registrar_interacao(),exibir_detalhes()).
- A classe
Contatoutiliza Composição ao possuir uma lista de objetos da classeInteracao(self.historico_interacoes). Isso modela a relação de que "o Contato TEM várias Interações".
- Herança: As classes
LeadeClienteFechadoherdam da classe baseContato, reutilizando código e atributos básicos (nome,email) e adicionando atributos específicos (fonte,valor_contrato). - Polimorfismo: Implementado no método
exibir_detalhes(). A listagem geral chama este método, e cada objeto (sejaLeadouClienteFechado) executa sua própria versão, exibindo o detalhe pertinente (fonte ou valor do contrato).
Para garantir a organização e a modularidade (Separação de Responsabilidades), o projeto está estruturado da seguinte forma: Mini-CRM-Orientacao-Objetos/ ├── app.py # Ponto de execução e fluxo de demonstração (o main) ├── contato.py # Classes Contato, Lead e ClienteFechado (Herança/Polimorfismo) ├── interacao.py # Classe Interacao (Usada para Composição) ├── gerenciador_crm.py # Classe que gerencia a coleção de Contatos e a lógica ├── .gitignore # Ignora arquivos de cache e ambiente virtual └── README.md
- Clone o Repositório:
git clone [https://www.youtube.com/watch?v=351MZvGXpnY](https://www.youtube.com/watch?v=351MZvGXpnY) cd Mini-CRM-Orientacao-Objetos
- Execute o Arquivo Principal:
Abra o Terminal na pasta raiz do projeto e use o comando
pythonoupy:python app.py # OU py app.py
A saída será uma listagem formatada em tabela, demonstrando a criação dos objetos e o log de interações.
- GitHub: lucasouza06
- LinkedIn: www.linkedin.com/in/lucas-andrade-souza-01b87a2b1
Este projeto está licenciado sob a MIT License.# Mini_CRM2