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
Monitor robot of Apple Store's products, using DingTalk notification.

概述 本项目应用主要用来监测Apple Store线下直营店货源情况,主要使用Python实现。 首先感谢iPhone-Pickup-Monitor项目带来的灵感,同时有些实现也直接使用了该项目的一些代码。 本项目在iPhone-Pickup-Monitor原有功能的基础上去掉了声音通知,但添加了多

Lennon Chin 159 Dec 09, 2022
A Advanced Auto Filter Bot Which Can Be Used In Many Groups With Multiple Channel Support....

Adv Auto Filter Bot This Just A Simple Hand Auto Filter Bot For Searching Files From Channel... Just Sent Any Text I Will Search In All Connected Chat

Albert Einstein 33 Oct 21, 2022
Work with the AWS IP address ranges in native Python.

Amazon Web Services (AWS) publishes its current IP address ranges in JSON format. Python v3 provides an ipaddress module in the standard library that allows you to create, manipulate, and perform ope

AWS Samples 9 Aug 25, 2022
LEC_Ditto is a bot that tracks the follows and unfollows of Twitter accounts

✨ LEC_Ditto ✨ I'm Ditto, and I'm a bot 🤖 . Getting Started | Installation | Usage Getting Started LEC_Ditto is a bot that tracks the follows and unfo

2 Mar 30, 2022
Cloudkeeper is “housekeeping for clouds” - find leaky resources, manage quota limits, detect drift and clean up.

Cloudkeeper Housekeeping for Clouds! Table of contents Overview Docker based quick start Cloning this repository Component list Contact License Overvi

Some Engineering 1.2k Jan 03, 2023
Python wrapper for JeyyAPI

Async python wrapper for JeyyAPI

7 Dec 10, 2022
S3-cleaner - A Python script attempts to delete the all objects/delete markers/versions from specific S3 bucket

Remove All Objects From S3 Bucket This Python script attempts to delete the all

9 Jan 27, 2022
Student-Management-System-in-Python - Student Management System in Python

Student-Management-System-in-Python Student Management System in Python

G.Niruthian 3 Jan 01, 2022
Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019)

TCL Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019) Dataset Office-31 dataset, with 0.4 label noise Requir

THUML @ Tsinghua University 17 Jul 07, 2022
A simple Telegram bot that analyses a given word, built with python-telegram-bot

Telegram Word Bot A simple Telegram bot that analyses a given word, built with python-telegram-bot. The bot is fairly useless - unless you often need

Chris N 2 Jul 14, 2022
An API wrapper for the file.io web service.

🗃️ File.io An API wrapper for the file.io web service. Install $ pip3 install fileio or

nkot56297 1 Dec 18, 2021
🐍 VerificaC19 SDK implementation for Python

VerificaC19 Python SDK 🐍 VerificaC19 SDK implementation for Python. Requirements Python version = 3.7 Make sure zbar is installed in your system For

Lotrèk 10 Jan 14, 2022
Maubot azuracast - A maubot to fetch data from your radio station

Maubot Azuracast A maubot to fetch data from your radio station Setup Configure

3 Mar 14, 2022
Shellkg-py - A temporary Repository to rewrite of shellpkg in python

Shellkg-py - A temporary Repository to rewrite of shellpkg in python

2 Jan 26, 2022
Simple yet efficient tool used to check and sort tokens in terms of there validation.

Discord Token Checker Simple yet efficient tool used to check and sort tokens in terms of there validation.When the program is done,go to the "output"

Robotnik 15 Dec 27, 2022
Projeto do segundo módulo da Resilia

@ Projeto Resilia : Módulo 2 Vamos jogar Forca ! O jogo da forca é um jogo em que o jogador tem que acertar qual é a palavra proposta, tendo como dica

Mateus Sartorio 2 Feb 24, 2022
Kang Sticker bot

Kang Sticker Bot A simple Telegram bot which creates sticker packs from other stickers, images, documents and URLs. Based on kangbot Deploy Credits: s

Hafitz Setya 11 Jan 02, 2023
Discord Token Creator 🥵

Discord Token Creator 🥵

dropout 304 Jan 03, 2023
🚀🔥使用Python连接阿里云盘, 实现了官方大部分功能 👍👍

aligo 🚀 🔥 使用Python连接阿里云盘, 实现了官方大部分功能 👍 👍 为了完善代码提示, 方便大家代码书写, aligo 引入了一些 python 3.8 的新特性, 所以要求 python = 3.8.* pip install aligo 或 pip install ali

455 Jan 08, 2023
Use Node JS Keywords In Python!!!

Use Node JS Keywords In Python!!!

Sancho Godinho 1 Oct 23, 2021