Processador de Pagamento

Visão Geral

Esta aplicação baseada em Django foi projetada para dominar as regras de negócios dinâmicas e complexas do sistema de processamento de pedidos de uma grande empresa. Ela oferece uma interface flexível e amigável para criar e gerenciar tipos de pagamento, cada um com ações personalizáveis que são executadas em uma ordem especificada. Esta solução garante uma configuração segura e direta das ações de pagamento, minimizando erros do usuário. Utiliza Django 4, SQLite3 e PyTest para fornecer uma estrutura robusta e eficiente.

Versão do Python e Django

  • Python 3.x
  • Django 4.0

Dependências do Sistema

  • SQLite3 para o banco de dados.
  • PyTest para executar testes.

Configuração

  • Configuração padrão do Django.
  • Sem dependências externas complexas para fácil configuração e manutenção.

Criação e Inicialização do Banco de Dados

  • Use python manage.py migrate para configurar o esquema do banco de dados.
  • Sem dados iniciais necessários, permitindo uma configuração flexível com base nas necessidades do usuário.

Executando a Suíte de Testes

  • Utilize pytest para testes abrangentes.

Recursos

  • Tipos de pagamento personalizáveis e ações associadas.
  • As ações para pagamentos são executadas em uma ordem definida, garantindo a integridade do processo.
  • Interface amigável para a configuração das ações de pagamento.

Instruções de Implantação

  • Procedimentos padrão de implantação do Django aplicáveis.
  • A aplicação é projetada para ser facilmente implantável em várias plataformas.

Notas Adicionais

  • Esta aplicação foca em lidar eficientemente com regras de negócios que mudam rapidamente.
  • Enfatiza a minimização de erros nas configurações do usuário.
  • Ideal para empresas com sistemas de processamento de pedidos diversos e em evolução.
  • A estrutura permite fácil adaptação e extensão à medida que novas necessidades de negócios surgem.

Abordagem de Resolução de Problemas

  • A aplicação foi projetada para enfrentar os desafios de gerenciar um conjunto complexo e em constante mudança de regras de negócios no processamento de pedidos.
  • Ao permitir que os usuários definam e gerenciem tipos de pagamento e ações associadas, a aplicação traz clareza e ordem ao que era anteriormente caótico.
  • Foi usado o pattern conhecido como command para facilitar a alterações na regra de negócio. Para cada nova regra é apenas necessário criar uma nova classe command que implmenta o método execute no arquivo /payment_processing/commands.py e adicionar ela ao método get_command_class na classe PaymentCommandFactory. Caso queira remover a regra é apenas realizar o caminho inverso.
  • Ela é projetada para ser tanto flexível quanto robusta, acomodando novas regras e mudanças sem a necessidade de um extenso redesenvolvimento, dando uma interface simples de customização para o usuário, e removendo toda a complexidade extra que poderia ser adicionada com com features mais complexas de customização.