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 pasta crypto-core. Ele depende de serviços como MongoDB e RabbitMQ, que podem ser executados via Docker.

Passos para rodar o backend:

  1. Certifique-se de que você tem o Docker instalado na sua máquina.
  2. Navegue até a pasta do backend:
    cd crypto-core
  3. Suba os serviços necessários com o Docker Compose:
    docker-compose up -d
  4. Execute o backend:
    go run main/main.go

🔑 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:

  • 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.

  • 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

Certifique-se de configurar essas variáveis de ambiente corretamente antes de executar o backend. Você pode defini-las em um arquivo .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 pasta front-arbitragem. Ele utiliza o npm para gerenciar dependências e rodar o servidor local.

Passos para rodar o front-end:

  1. Certifique-se de que você tem o Node.js (versão 18.10.0 ou superior) instalado.
  2. Navegue até a pasta do front-end:
    cd front-arbitragem
  3. Instale as dependências do projeto:
    npm install
  4. Inicie o servidor local:
    npm run dev

🐳 Dependências via Docker

As dependências do backend, como MongoDB e RabbitMQ, são gerenciadas via Docker. Para subir os serviços necessários, execute o seguinte comando na raiz do projeto: