Projeto de Sistema de Fidelidade — Cafeteria Escolar
Introdução
INTRODUÇÃO
Ao iniciar meus estudos em programação, percebi que resolver exercícios isolados ajudava a compreender partes específicas da linguagem Python, mas nem sempre favorecia uma visão ampla sobre como sistemas computacionais são realmente estruturados.
Por esse motivo, decidi adotar uma abordagem diferente: em vez de abandonar os exercícios anteriores a cada novo conteúdo aprendido, optei por expandir progressivamente um mesmo projeto.
Essa decisão tornou o processo de aprendizagem mais significativo, pois permitiu conectar novos conceitos a uma estrutura já compreendida anteriormente. Assim, cada novo conteúdo passou a funcionar como uma ampliação lógica do sistema já iniciado.
Inicialmente, o projeto utilizava apenas variáveis, inputs e operadores matemáticos para registrar pedidos e calcular valores simples. Posteriormente, com o estudo das estruturas condicionais e dos operadores lógicos, o sistema começou a incorporar tomadas de decisão, validações, recompensas e regras automatizadas.
Além disso, o processo de revisão do projeto permitiu identificar possíveis falhas lógicas, duplicidades de benefícios e inconsistências de validação, favorecendo uma compreensão mais profunda sobre como sistemas reais precisam prever erros, conflitos de regras e comportamentos inesperados.
Essa experiência aproximou o processo de aprendizagem da lógica real da programação e da engenharia de software, nas quais sistemas evoluem continuamente por meio de correções, refinamentos e novas funcionalidades.
Também percebo que essa metodologia dialoga profundamente com minha atuação educacional, pois evidencia como a contextualização, a continuidade e a construção progressiva favorecem a aprendizagem de conceitos complexos.
Projeto da Cafeteria
OBJETIVO DO SISTEMA
O sistema deve:
- registrar pedidos dos clientes;
- calcular automaticamente o valor da compra;
- verificar cadastro do cliente;
- aplicar descontos progressivos;
- liberar recompensas;
- enviar mensagens automáticas de fidelização.
ESTRUTURA LÓGICA DO SISTEMA
- Cadastro
- verificar se o cliente é cadastrado;
- caso não seja, oferecer cadastro desde a primeira compra.
- Pedidos
- registrar quantidade de itens;
- registrar nome e valor de cada item;
- calcular o valor total da compra.
- Desconto
- verificar quantidade de visitas do cliente;
- aplicar desconto progressivo a partir da terceira visita;
- limitar o desconto máximo em 10%.
- Recompensas
- liberar item gratuito a cada múltiplo de 10 visitas;
- permitir escolha entre itens específicos;
- criar regra especial de aniversário.
- Comunicação
- apresentar resumo da compra;
- enviar mensagem automática pelo WhatsApp com informações da compra e do programa de fidelidade.
REGRAS DEFINIDAS PARA O SISTEMA
Desconto progressivo
Menos de 3 visitas → sem desconto
3 visitas → 3% de desconto
4 visitas → 4% de desconto
5 visitas → 5% de desconto
...
10 visitas ou mais → 10% de desconto
Recompensa por recorrência
A cada múltiplo de 10 visitas:
- o cliente recebe um item gratuito;
- poderá escolher entre:
- café;
- pão de queijo;
- cookie.
Regra especial de aniversário
Se:
- for aniversário do cliente;
- e o número de compras for igual ou maior que sua idade;
o cliente poderá escolher gratuitamente qualquer item presente no pedido atual.
CORREÇÕES REALIZADAS NO SISTEMA
Durante a revisão lógica do projeto, foram identificados possíveis problemas estruturais:
- duplicidade de bônus;
- validação frágil dos itens do pedido;
- possibilidade de informar manualmente valores incorretos para itens gratuitos.
Para resolver esses problemas:
- foi criada prioridade para o bônus de aniversário;
- o sistema passou a impedir duplicidade de recompensas;
- os itens do pedido passaram a ser armazenados em estrutura adequada;
- os valores dos itens gratuitos passaram a ser recuperados diretamente do pedido.
ORDEM DO CÁLCULO
O sistema deverá:
- remover o valor do item gratuito;
- aplicar o desconto sobre o valor restante.
Essa lógica evita desconto sobre produtos já gratuitos.