This repository stores code from Zapay's Python Backend Developer coding challenge.
- É necessário possuir
git
instalado em sua máquina; - Clone o projeto;
$ git clone https://github.com/lucasdutraf/debts-api
- Acesse o diretório criado.
$ cd debts-api
- O ideal é possuir um
virtualenv
para instalar as bibliotecas extras; - Instale as bibliotecas adicionais utilizadas
pip3 install -r requirements.txt
- O projeto aceita 2 ou 3 argumentos para realizar a busca de débitos do carro.
- Resgatando todos os débitos disponíveis;
$ python3 main.py ABC1234 11111111111
- Resgatando débitos de um tipo em específico;
$ python3 main.py ipva ABC1234 11111111111
- Resgatando todos os débitos disponíveis;
- Rode os testes.
pytest tests.py
- Adicionar funcionalidade de resgatar todos os débitos. A funcionalidade foi adicionada através de mudanças nos 3 principais arquivos. Sendo elas contempladas nos três commits "Create mount debt data method", "Update main according to all debts return functionality", "Create parsing function to return all debts".
- Implementar um novo tipo de débito. A funcionalidade foi adicionada através de mudanças nos 3 principais arquivos. Sendo elas contempladas nos três commits "Create licensing debt option fetch logic", "Add licensing debt option to parser", "Update main logic to support licensing".
- Implementar uma solução que aceite placas de modelo novo como input.
A funcionalidade foi adicionada através de mudanças no arquivo
main.py
. Sendo ela contemplata em apenas um commits "Add function for handling with new license plate pattern". - Adicionar testes na aplicação. Essa evolução foi atendida e foi utilizada a técnica de testes parametrizados, com o apoio da biblioteca
pytest
. Todos os testes implementados constam no arquivotests.py
.
Autor: Lucas Dutra Ferreira do Nascimento