API de intercambio ABAN Tether
Este proyecto es una tarea de implementación para ABAN Tether. El objetivo es diseñar una API para registrar órdenes de compra de un exchange o exchange de criptomonedas bajo condiciones específicas.
Características
- Gestión de usuarios : crear y autenticar usuarios.
- Gestión de divisas : enumera las divisas disponibles.
- Gestión de transacciones : envíe transacciones y administre sus estados.
- Manejo de eventos : liquidar transacciones con eventos de intercambio.
- Tareas programadas : revierta periódicamente las transacciones bloqueadas al estado enviado.
Pila de tecnología
- Python : El principal lenguaje de programación.
- Nameko : un marco de microservicios para Python.
- SQLAlchemy : un ORM para interactuar con la base de datos.
- Marshmallow : para validación de esquemas y serialización/deserialización.
- Alambique : Para migraciones de bases de datos.
- Docker : Para contenedorización.
Instrucciones de configuración
Requisitos previos
Configuración de desarrollo local
Clonar el repositorio :
git clone https://github.com/amir-mhp/aban-tether-task.git
cd aban-tether-exchange
Construya la imagen de Docker :
docker build -t abantether/core .
Iniciar los servicios :
Ejecutar migraciones de bases de datos :
docker-compose run --rm core alembic upgrade head
Agregar monedas predeterminadas: :
docker-compose run --rm core python pre_deploy/add_default_currency.py
Accede a la Aplicación :
La aplicación se ejecutará en http://localhost:8005