Technical Test - Python Programmer Grupo Nexxera

Overview

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ção Descrição
Formato de resposta JSON
Formato de envio JSON
Requer autenticação Não
Taxa limitada Nã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

Nome Requerido Descrição
function opcional Filtro para extrato das transações pela função Crédito ou Débito
account opcional Filtro 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.
You might also like...
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

PRAW: The Python Reddit API Wrapper PRAW, an acronym for "Python Reddit API Wrapper", is a Python package that allows for simple access to Reddit's AP

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API.

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API. It allows rapid trading algo development easily, with support for both REST and streaming data interfaces

🖥️ Python - P1 Monitor API Asynchronous Python Client

🖥️ Asynchronous Python client for the P1 Monitor

Volt is yet another discord api wrapper for Python. It supports python 3.8 +

Volt Volt is yet another discord api wrapper for Python. It supports python 3.8 + How to install [Currently Not Supported.] pip install volt.py Speed

Bagas Mirror&Leech Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive. Based on python-aria-mirror-bot
Bagas Mirror&Leech Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive. Based on python-aria-mirror-bot

- [ MAYBE UPDATE & ADD MORE MODULE ] Bagas Mirror&Leech Bot Bagas Mirror&Leech Bot is a multipurpose Telegram Bot written in Python for mirroring file

A python Discord wrapper made in well, python.

discord.why A python Discord wrapper made in well, python. Made to be used by devs who want something a bit more, general. Basic Examples Sending a me

A wrapper for aqquiring Choice Coin directly through a Python Terminal. Leverages the TinyMan Python-SDK.

CHOICE_TinyMan_Wrapper A wrapper that allows users to acquire Choice Coin directly through their Terminal using ALGO and various Algorand Standard Ass

Python On WhatsApp - Run your python codes on whatsapp along with talking to a chatbot
Python On WhatsApp - Run your python codes on whatsapp along with talking to a chatbot

Python On WhatsApp Run your python codes on whatsapp along with talking to a chatbot This is a small python project to run python on whatsapp. and i c

Get-Phone-Number-Details-using-Python - To get the details of any number, we can use an amazing Python module known as phonenumbers.

Get-Phone-Number-Details-using-Python To get the details of any number, we can use an amazing Python module known as phonenumbers. We can use the amaz

Owner
Raul dos Santos Moraes
A Full-Stack Programmer that loves apply his knowledge to solve problems, create amazing products and impact lives.
Raul dos Santos Moraes
Robot Swerve Test Public With Python

Robot-Swerve-Test-Public The codebase for our swerve drivetrain prototype robot.

null 1 Jan 9, 2022
💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!

LocalStack - A fully functional local AWS cloud stack LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications. Cur

LocalStack 45.3k Jan 2, 2023
A simple test repo created following docker docs.

docker_sampleRepo A simple test repo created following docker docs. Link to docs: https://docs.docker.com/language/python/develop/ Other links: https:

Suraj Verma 2 Sep 16, 2022
A library for demo trading | backtest and forward test simulation

Trade Engine a library for demo trading | backtest and forward test simulation Features Limit/Market orders: you can place a Limit or Market order in

Ali Moradi 7 Jul 2, 2022
fair-test is a library to build and deploy FAIR metrics tests APIs supporting the specifications used by the FAIRMetrics working group.

☑️ FAIR test fair-test is a library to build and deploy FAIR metrics tests APIs supporting the specifications used by the FAIRMetrics working group. I

Maastricht University IDS 6 Oct 30, 2022
Web3 Ethereum DeFi toolkit for smart contracts, Uniswap and PancakeSwap trades, Ethereum JSON-RPC utilities, wallets and automated test suites.

Web3 Ethereum Defi This project contains common Ethereum smart contracts and utilities, for trading, wallets,automated test suites and backend integra

Trading Strategy 222 Jan 4, 2023
Official Python client for the MonkeyLearn API. Build and consume machine learning models for language processing from your Python apps.

MonkeyLearn API for Python Official Python client for the MonkeyLearn API. Build and run machine learning models for language processing from your Pyt

MonkeyLearn 157 Nov 22, 2022
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

PRAW: The Python Reddit API Wrapper PRAW, an acronym for "Python Reddit API Wrapper", is a Python package that allows for simple access to Reddit's AP

Python Reddit API Wrapper Development 3k Dec 29, 2022