API ABAN Tether Exchange
Este projeto é uma tarefa de implementação do ABAN Tether. O objetivo é projetar uma API para registrar pedidos de compra de uma exchange ou exchange de criptomoedas sob condições específicas.
Características
- Gerenciamento de usuários : crie e autentique usuários.
- Gerenciamento de moeda : liste as moedas disponíveis.
- Gerenciamento de transações : envie transações e gerencie seus estados.
- Tratamento de eventos : liquidar transações com eventos de troca.
- Tarefas agendadas : reverta periodicamente as transações travadas para o estado enviado.
Pilha de tecnologia
- Python : A principal linguagem de programação.
- Nameko : uma estrutura de microsserviços para Python.
- SQLAlchemy : Um ORM para interagir com o banco de dados.
- Marshmallow : Para validação de esquema e serialização/desserialização.
- Alambique : Para migrações de banco de dados.
- Docker : para conteinerização.
Instruções de configuração
Pré-requisitos
Configuração de desenvolvimento local
Clone o repositório :
git clone https://github.com/amir-mhp/aban-tether-task.git
cd aban-tether-exchange
Construa a imagem Docker :
docker build -t abantether/core .
Inicie os serviços :
Execute migrações de banco de dados :
docker-compose run --rm core alembic upgrade head
Adicionar moedas padrão::
docker-compose run --rm core python pre_deploy/add_default_currency.py
Acesse o Aplicativo :
O aplicativo estará rodando em http://localhost:8005