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.
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
unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz

hauntingSRC unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz reasoning: creators skidded the most of this bot and do

Vast 11 Nov 04, 2022
Sail is a free CLI tool to deploy, manage and scale WordPress applications in the DigitalOcean cloud.

Deploy WordPress to DigitalOcean with Sail Sail is a free CLI tool to deploy, manage and scale WordPress applications in the DigitalOcean cloud. Conte

Konstantin Kovshenin 159 Dec 12, 2022
A Discord bot to play bluffing games like Dobbins or Bobbins

Usage: pip install -r requirements.txt python3 bot.py DISCORD_BOT_TOKEN Gameplay: All commands are case-insensitive, with trailing punctuation and spa

4 May 27, 2022
A Python library for PagerDuty.

Pygerduty Python Library for PagerDuty's REST API and Events API. This library was originally written to support v1 and is currently being updated to

Dropbox 164 Dec 20, 2022
A pypi package that helps in generating discord bots.

A pypi package that helps in generating discord bots.

KlevrHQ 3 Nov 17, 2021
It's a discord.py simulator.

DiscordPySimulator It's a discord.py simulator. ⚠️ Things to fix Context As you may know, discord py commands provide the context as the first paramet

Juan Sebastián 11 Oct 24, 2022
Based on falcondai and fenhl's Python snowflake tool, but with documentation and simliarities to Discord.

python-snowflake-2 Based on falcondai and fenhl's Python snowflake tool, but with documentation and simliarities to Discord. Docs make_snowflake This

2 Mar 19, 2022
A Telegram Music Tag Editor Bot that can remove almost all usernames in the music tags and add own username instead.

Music Tag Editor Bot A Telegram Music Tag Editor Bot that can remove almost all usernames in the music tags and add own username instead. It can also

14 Oct 21, 2022
Self-adjusting, auto-compounding multi-pair DCA crypto trading bot using Python, AWS Lambda & 3Commas API

Self-adjusting, auto-compounding multi-pair DCA crypto trading bot using Python, AWS Lambda & 3Commas API The following code describes how we can leve

Jozef Jaroščiak 21 Dec 07, 2022
Python Tool To Get The Date That Your Account Joined Instagram

Date-Joined-Insta Python Tool To Get The Date That Your Account Joined Instagram You Dont Need To Login Just Enter The UserName If Id Did Not Work Ins

A B D U L L A H . 1 Dec 21, 2021
Telegram Auto Filter Bot

Pro Auto Filter Bot V2.o Hey Mo Tech, I'm an Autofilter bot v2.O and you can not Add Me to your Group. I was made for this one group. So don't waste y

14 Oct 20, 2021
An API that uses NLP and AI to let you predict possible diseases and symptoms based on a prompt of what you're feeling.

Disease detection API for MediSearch An API that uses NLP and AI to let you predict possible diseases and symptoms based on a prompt of what you're fe

Sebastian Ponce 1 Jan 15, 2022
discord token grabber scam - eductional purposes only!

Discord-QR-Scam תופס אסימון תמונה של Discord על אודות סקריפט Python שיוצר אוטומטית קוד QR הונאה של Nitro ותופס את אסימון הדיסקורד בעת סריקה. כלי זה מד

Amit Pinchasi 0 May 22, 2022
Say "good morning" on Discord, in batch, one-click.

🌞 gm Good Morning! Usage Simply copy the channel_list to gm.py and fill authorization_list with authorization token(s). Enjoy. Authorization Please r

e 3 Nov 18, 2022
Prometheus exporter for CNMC API

CNMC Prometheus exporter It needs a Prometheus Pushgateway Install requirements via pip install -r requirements.txt Export the following environment v

GISCE-TI 1 Oct 20, 2021
Utilizing the freqtrade high-frequency cryptocurrency trading framework to build and optimize trading strategies. The bot runs nonstop on a Rasberry Pi.

Freqtrade Strategy Repository Please test all scripts and dry run them before using them in live mode Contact me on discord if you have any questions!

Michael Fourie 90 Jan 01, 2023
WaifuGen - A program made in waifuGen that generates SFW and NSFW waifus from the waifu.pics API

waifuGen A program made in waifuGen that generates SFW and NSFW waifus from the

1 Jan 05, 2022
Powerful and Async API for AnimeWorld.tv 🚀

Powerful and Async API for AnimeWorld.tv 🚀

1 Nov 13, 2021
Connect your Nintendo Switch playing status to Discord!

Disclaimer: Unfortunately, it appears that Nintendo has removed returning self-Presence in their API as of recently, making this project near obsolete

Deltaion Lee 145 Dec 30, 2022
Elkeid HUB - A rule/event processing engine maintained by the Elkeid Team that supports streaming/offline data processing

Elkeid HUB - A rule/event processing engine maintained by the Elkeid Team that supports streaming/offline data processing

Bytedance Inc. 61 Dec 29, 2022