Skip to content

edumerckx/desafio-bhub

Repository files navigation

Desafio BHub

Quality Gate Status codecov

Aplicação referente ao desafio proposto pela BHub. O objetivo é ter um mecanismo capaz de processar diferentes regras com base no seu payload.

Instalação

Para instalação das dependências é necessário o uso do poetry (ferramenta para gestão de dependências). Caso ainda não possua essa ferramenta instalada, usar o comando abaixo:

pip install poetry

Com o poetry instalado, executar o comando abaixo na raiz do projeto:

poetry install

E para ativar o virtualenv, executar:

poetry shell

Antes de startar a aplicação é necessário configurar as variáveis de ambiente conforme o arquivo .env-example. Depois dessa configuração é só executar o comando abaixo para rodar a aplicação.

task dev

Como funciona?

Pensando na simplicidade e para uma versão inicial, a aplicação é basicamente um monolito que recebe uma requisição, consome um serviço externo (GoRules) que contém as definições de regras e finaliza o processamento com base nas actions cadastradas. Aqui todo o processo é síncrono.

bhub 1a versao

Uso

Para testar o mecanismo de avaliação de regras e execução das ações pode ser o usada a collection postman ou executar os comandos cUrl abaixo:

# emitirRemessaEntrega
curl --location 'localhost:5000/payments' \
    --header 'Content-Type: application/json' \
    --data '{
        "payment": {
            "type": "fisico"
        }
    }'
# ativaAssociacao
curl --location 'localhost:5000/payments' \
    --header 'Content-Type: application/json' \
    --data '{
        "record_type": "activate"
    }'
# atualizaAssociacao
curl --location 'localhost:5000/payments' \
    --header 'Content-Type: application/json' \
    --data '{
        "record_type": "update"
    }'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages