Skip to content

mayasrl/farmacia-ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💊 Farmácia E-Commerce

Um sistema de console em Python orientado a objetos para gerenciar cadastros, vendas e relatórios de uma farmácia online.


🧐 Visão Geral

  • Python 3.6+: apenas módulos nativos (datetime, sys, typing).
  • Arquitetura OOP: classes Cliente, Laboratorio, MedicamentoQuimioterápico, MedicamentoFitoterápico e Venda.
  • 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.

📁 Estrutura do Projeto

  • 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!).

🚀 Funcionalidades

  1. Cadastro de Clientes

    • CPF (somente números), nome e data de nascimento;
    • Cálculo automático de idade para desconto de idoso (> 65 anos).
  2. Cadastro de Laboratórios

    • Nome, endereço, telefone, cidade e estado.
  3. Cadastro de Medicamentos

    • Quimioterápicos (flag “necessita receita”);
    • Fitoterápicos;
    • Princípio ativo, descrição e preço unitário.
  4. 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.
  5. 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

About

Projeto realizado no curso Academia Globotech da Ada em parceria com a Globo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages