Technical Test Nexxera Group

Teste Técnico - Grupo de Programadores Python Nexxera

Prepare-se para usar a API

Nossa API de transações de contas digitais permite que você trabalhe diretamente com recursos de dados relacionados às atividades bancárias do seu aplicativo. A API de contas digitais usa protocolos padrão HTTP em que as cargas úteis JSON serão retornadas em resposta às solicitações HTTP. É implementado internamente com base nos princípios RESTful.

Abrir e rodar o projeto

Instruções necessárias para abrir e executar o projeto

Instale o Python 3
  1. Clone o repositório e entre na pasta:

git clone https://github.com/rauldosS/technical-test-nexxera.git cd technical-test-nexxera

  1. Crie um ambiente virtual:
Linux

virtualenv <nome_da_virtualenv>

Windows

python -m venv <nome_da_virtualenv>

  1. Ative o ambiente virtual que você acabou de criar:
Linux

source <nome_da_virtualenv>/bin/activate

Windows

.\<nome_da_virtualenv>\Scripts\activate

  1. Instale os pacotes de desenvolvimento local:

pip install -r requirements.txt

  1. Execute as migrações:

python manage.py migrate

Rode o servidor de desenvolvimento:

python manage.py runserver

Execução no ambiente Windows

alt text

Informação de recursos

InformaçãoDescrição
Formato de respostaJSON
Formato de envioJSON
Requer autenticaçãoNão
Taxa limitadaNão

URL base (API Overview)

O URL base usado para a API é formatado conforme mostrado abaixo:

http://127.0.0.1:8000/api/

Ao acessar a URL base uma página chamada Api Overview contendo as configurações e lista de requisições aceitas será apresentadas.
alt text

Parâmetros

NomeRequeridoDescrição
functionopcionalFiltro para extrato das transações pela função Crédito ou Débito
accountopcionalFiltro para extrato das transações pelo identificador numérico da Conta virtual

Cabeçalhos

Uma HTTP típica para a API inclui os seguintes cabeçalhos:

Content-Type: application/json; charset=utf8

  • Content-Type: cada solicitação deve incluir um Content-Type cabeçalho.

Consumo da API

Todas as transações

Consulta todas as transações

/api/transaction-list

Utilize o parâmetro account com o valor do identificador da conta para consultar o extrato de uma conta específica:

/api/transaction-list/?account=2

Utilize o parâmetro function com o valor do tipo de transação para consultar o extrato do tipo Crédito ou Débito: > Tipos disponíveis C e D sendo respectivamente identificadores de Crédito e Débito.

/api/transaction-list/?function=D

Utilize os parâmetros account e function separados por & para realizar os filtros a cima juntos:

/api/transaction-list/?account=1&function=D/api/transaction-list/?account=1&function=C

Detalhes da Transação

URL base

/api/transaction-detail

v.g. detalhes da transação 1

/api/transaction-detail/1

Criar transação

/api/transaction-create

  • No corpo da requisição adicione o JSON com os dados da transação a ser criada:

{ "account": 1, "description": "Books", "value": 505, "function": "C"}

Atualizar transação

URL base

/api/transaction-update

v.g. atualizando transação 5

/api/transaction-update/5

  • No corpo da requisição adicione o JSON com os dados da transação a ser atualizada:

{ "account": 1, "description": "Books", "value": 505, "function": "C"}

Consumo através do Insomnia REST

alt text
alt text

Consumo através do Django Rest framework

alt text

Técnicas e tecnologias utilizadas

Faça uma lista de tecnologias e técnicas utilizadas (a justificativa e descrição são opcionais):

  • Linguagem de programação: Python
  • Frameworks: Django
  • Django REST framework: é um kit de ferramentas poderoso e flexível para a construção de APIs da Web.
  • Function Based Views: Visualizações regulares baseadas em funções.
GitHub - rauldosS/technical-test-nexxera at pythonawesome.com
Technical Test - Python Programmer Grupo Nexxera. Contribute to rauldosS/technical-test-nexxera development by creating an account on GitHub.