Um sistema de console em Python orientado a objetos para gerenciar cadastros, vendas e relatórios de uma farmácia online.
- Python 3.6+: apenas módulos nativos (
datetime,sys,typing). - Arquitetura OOP: classes
Cliente,Laboratorio,MedicamentoQuimioterápico,MedicamentoFitoterápicoeVenda. - Dados em memória: utiliza dicionários e listas, sem banco de dados ou arquivos externos.
- Interface via console: menu interativo para cadastro, venda e geração de relatórios.
- Saída formatada: relatórios ao final da sessão com estatísticas de vendas.
farmacia_poo/— Diretório principal do projeto refatorado.entidades/— Contém as classes de modelo (cliente.py,laboratorio.py,medicamento.py,venda.py).relatorios/— Contém as funções de geração de relatórios (gerador_relatorios.py).utils/— (Opcional) Para funções utilitárias futuras.data.py— Armazena os dados em memória (clientes, laboratórios, medicamentos, vendas).services.py— Contém as funções de negócio (cadastro, busca, venda).main.py— Ponto de entrada do programa, com o menu principal.
README.md— Documentação do projeto (você está aqui!).
-
Cadastro de Clientes
- CPF (somente números), nome e data de nascimento;
- Cálculo automático de idade para desconto de idoso (> 65 anos).
-
Cadastro de Laboratórios
- Nome, endereço, telefone, cidade e estado.
-
Cadastro de Medicamentos
- Quimioterápicos (flag “necessita receita”);
- Fitoterápicos;
- Princípio ativo, descrição e preço unitário.
-
Realizar Venda
- Busca por nome, laboratório ou descrição parcial;
- Adição de múltiplos itens e quantidades;
- Alerta automático para quimioterápicos controlados;
- Aplicação do maior desconto (20% idoso ou 10% compras ≥ R$ 150);
- Confirmação e registro da venda em memória.
-
Relatórios
- Listar clientes (A → Z);
- Listar todos os medicamentos (A → Z);
- Filtrar por tipo (Quimioterápico / Fitoterápico);
- Relatório de vendas ao sair, com:
- Total de atendimentos;
- Remédio mais vendido (quantidade & valor);
- Totais de quimioterápicos e fitoterápicos vendidos.
$ python farmacia_poo/main.py
Iniciando sistema de Farmácia E-Commerce…
======== Farmácia E-Commerce ========
1. Cadastrar Cliente
2. Cadastrar Laboratório
3. Cadastrar Medicamento
4. Realizar Venda
5. Relatórios
6. Sair
=====================================
Escolha uma opção (1-6): 4
— Realizar Venda —
CPF: 12345678901
--- Adicionar item ---
Buscar medicamentos por:
1. Nome exato
2. Nome do laboratório
3. Texto parcial na descrição
Escolha (1/2/3): 1
Digite o nome exato do medicamento: Paracetamol
Quantidade de 'Paracetamol' 2
Deseja adicionar outro medicamento? ([S]im/[N]ão): N
Subtotal: R$ 10.00
Nenhum desconto aplicado.
Valor final da venda: R$ 10.00
Confirmar venda? ([S]im/[N]ão): S
Venda registrada com sucesso!
======== Farmácia E-Commerce ========
1. Cadastrar Cliente
2. Cadastrar Laboratório
3. Cadastrar Medicamento
4. Realizar Venda
5. Relatórios
6. Sair
=====================================
Escolha uma opção (1-6): 6
Saindo do sistema. Até mais!
========== Relatório de Vendas (Sessão) ==========
Clientes atendidos: 1
Remédio mais vendido: Paracetamol
Quantidade total vendida: 2 unidades
Valor total: R$ 10.00
Total de Quimioterápicos vendidos: 0 unidades | Valor total: R$ 0.00
Total de Fitoterápicos vendidos: 0 unidades | Valor total: R$ 0.00
==================================================Desenvolvido durante o curso Academia Globotech da Ada em parceria com a Globo, com 💛 por @mayasrl e equipe