Este guia explica como configurar e rodar o backend e o front-end do Crypto Arbitrage Service localmente.
🛠️ Backend
O backend foi desenvolvido em Golang (versão 1.20) e está localizado na pastacrypto-core. Ele depende de serviços como MongoDB, RabbitMQ e opcionalmente Redis para cache, que podem ser executados via Docker. Caso o Redis não esteja disponível, o sistema automaticamente utiliza cache em memória.
Passos para rodar o backend:
- Certifique-se de que você tem o Docker instalado na sua máquina.
- Navegue até a pasta do backend:
- Suba os serviços necessários com o Docker Compose:
- Execute o backend:
🔑 Variáveis de Ambiente do Backend
O backend utiliza diversas variáveis de ambiente para configurar integrações e serviços externos. Abaixo está uma descrição de cada uma delas:- BYBIT_API_KEY: Chave de API para acessar a ByBit
- BYBIT_SECRET_KEY: Chave secreta para acessar a ByBit
- KRAKEN_API_KEY: Chave de api para acessar a Kraken
- KRAKEN_API_SECRET: Chave secreta para acessar a Kraken
- API_KEY_CRYPTO_COM: Chave de API para acessar a Crypto.com
- CRYPTO_COM_SECRET_KEY: Chave secreta para acessar a Crypto.com
- API_KEY_BINANCE: Chave de API para acessar a API da Binance.
- SECRET_KEY_BINANCE: Chave secreta correspondente à API da Binance.
- API_KEY_OKX: Chave de API para acessar a API da OKX.
- SECRET_KEY_OKX: Chave secreta correspondente à API da OKX.
- PASSPHRASE_OKX: Frase de segurança necessária para autenticação na API da OKX.
-
MONGO_URI: URI de conexão com o banco de dados MongoDB. Exemplo:
mongodb://localhost:27017. - FREE_CURRENCY_API_KEY: Chave de API para acessar o serviço de conversão de moedas Free Currency API.
- EXCHANGERATE_API_KEY: Chave de API para acessar o serviço de conversão de moedas ExchangeRate API como fallback.
-
AMQP_URI: URI de conexão com o servidor RabbitMQ. Exemplo:
amqp://adm:123456@localhost:5672/virtualhost. - TWITTER_CONSUMER_KEY: Chave de consumidor para integração com a API do Twitter.
- TWITTER_CONSUMER_SECRET: Chave secreta de consumidor para integração com a API do Twitter.
- PANIC_RECOVERY: Faz a aplicacao se recuperar de panicos (erros inesperados).
-
REDIS_HOST: Endereço do servidor Redis. Exemplo:
localhost:6379. recomendado caso voce va utilizar em alguma vm ou em um ambiente fora de containers
.env na raiz do projeto ou diretamente no ambiente do sistema operacional.
🌐 Front-end
O front-end foi desenvolvido em React e está localizado na pastafront-arbitragem. Ele utiliza o npm para gerenciar dependências e rodar o servidor local.
Passos para rodar o front-end:
- Certifique-se de que você tem o Node.js (versão 18.10.0 ou superior) instalado.
- Navegue até a pasta do front-end:
- Instale as dependências do projeto:
- Inicie o servidor local: