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.
- Python 3.x
- Django 4.0
- SQLite3 para o banco de dados.
- PyTest para executar testes.
- Configuração padrão do Django.
- Sem dependências externas complexas para fácil configuração e manutenção.
- 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.
- Utilize
pytest
para testes abrangentes.
- 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.
- Procedimentos padrão de implantação do Django aplicáveis.
- A aplicação é projetada para ser facilmente implantável em várias plataformas.
- 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.
- 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étodoexecute
no arquivo/payment_processing/commands.py
e adicionar ela ao métodoget_command_class
na classePaymentCommandFactory
. 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.