Este repositório contém uma aplicação escrita em Python >= 3.7 que está dividida em várias camadas. A implementação tenta seguir algumas ideias do DDD e da arquitetura hexagonal.
- Python
3.7 - PostgreSQL
13.1
É recomandável instalar e utilizar a aplicação a partir da imagem Docker, tudo deve funcionar com a execução deste comando:
$ docker-compose upVocê também pode optar pela instalação local sem ajuda do Docker, neste caso garanta que as dependências sejam atendidas. Também é recomandado que a instalação seja feita utilizando um ambiente virtual do Python. Para iniciar a instalação, rode os comandos:
$ python -m venv .venv && source .venv/bin/activate
$ pip install -r requirements.txt
$ python setup.py installAgora edite o arquivo .env e informe a URL em formato de DSN para o seu banco de dados. Neste ponto a aplicação já deve estar instalada no seu path virtual e pronta para ser executada.
Para rodar a aplicação, execute:
$ uvicorn banking.api:app --host 0.0.0.0 --reloadA API estará disponível no endereço http://0.0.0.0:8000/.
O desenvolvimento desse experimento levou em consideração a prática da execução de testes de mutação, para verificar a sua saída execute:
$ mut.py --target banking --unit-test tests -c --timeout-factor 0.5Se quiser apenas executar os testes de integração e unidade, execute:
$ python setup.py testPara este projeto o micro framework FastAPI foi escolhido. A cultura de definição de tipos e da convenção em detrimento da configuração torna o desenvolvimento mais ágil e prazeroso.
Outra facilidade que o FastAPI nos traz é a geração automática de documentações do tipo swagger, com a aplicação rodando basta acessar o endereço:
Você deve ver algo semelhante a imagem abaixo:
Para mais informações acesse a pasta docs.
