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-Typecabeçalho.
🔨
Consumo da API
Todas as transações
Consulta todas as transações
/api/transaction-list
Utilize o parâmetro
accountcom o valor doidentificador da contapara consultar o extrato de uma conta específica:
/api/transaction-list/?account=2
Utilize o parâmetro
functioncom o valor dotipo de transaçãopara consultar o extrato do tipo Crédito ou Débito: > Tipos disponíveisCeDsendo respectivamente identificadores de Crédito e Débito.
/api/transaction-list/?function=D
Utilize os parâmetros
accountefunctionseparados por¶ 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.




