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
- Clone o repositório e entre na pasta:
git clone https://github.com/rauldosS/technical-test-nexxera.git
cd technical-test-nexxera
- Crie um ambiente virtual:
Linux
virtualenv <nome_da_virtualenv>
Windows
python -m venv <nome_da_virtualenv>
- Ative o ambiente virtual que você acabou de criar:
Linux
source <nome_da_virtualenv>/bin/activate
Windows
.\<nome_da_virtualenv>\Scripts\activate
- Instale os pacotes de desenvolvimento local:
pip install -r requirements.txt
- Execute as migrações:
python manage.py migrate
Rode o servidor de desenvolvimento:
python manage.py runserver
📍
Execução no ambiente Windows
📍
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.
⚙️
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 doidentificador da conta
para consultar o extrato de uma conta específica:
/api/transaction-list/?account=2
Utilize o parâmetro
function
com o valor dotipo de transação
para consultar o extrato do tipo Crédito ou Débito: > Tipos disponíveisC
eD
sendo respectivamente identificadores de Crédito e Débito.
/api/transaction-list/?function=D
Utilize os parâmetros
account
efunction
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
Consumo através do Django Rest framework
✔️
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
: PythonFrameworks
: DjangoDjango 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.