How bodyakyryliuk/tradebit works
TradeBit is a cross-platform crypto-trading product: users authenticate, link Binance, inspect balances and market data, trade manually, or configure bots that execute trades and expose history and forecasts. The graph includes identity, trading, exchange, prediction, and notification capabilities documented in the README and represented in the tree. Client Dart sources and most implementation bodies were not provided, so several service-to-service links are omitted where their wiring cannot be confirmed.
Main entry points: BotController.java Bot service · BinanceController.java Binance service · AuthController.java Identity service · client Flutter client
Components 23
Client
- Flutter client
client
Identity
- API gateway
server/api-gateway/src/main/java/com/tradebit/ApiGatewayApplication.java - Request tracking
server/api-gateway/src/main/java/com/tradebit/filters/TrackingFilter.java - Identity service
server/identity-service/src/main/java/com/tradebit/controller/AuthController.java - Keycloak
- User and token data
server/identity-service/src/main/java/com/tradebit/user/repositories/UserRepository.java
Trading
- Bot service
server/bot-service/src/main/java/com/tradebit/controllers/BotController.java - Bot execution
server/bot-service/src/main/java/com/tradebit/services/bots/BotTradingServiceImpl.java - Manual orders
server/bot-service/src/main/java/com/tradebit/controllers/BuyOrderController.java - Order history
server/bot-service/src/main/java/com/tradebit/services/orders/SellOrderServiceImpl.java - Bot and order data
server/bot-service/src/main/java/com/tradebit/repositories/BotRepository.java - Prediction service
server/bot-service/src/main/java/com/tradebit/services/predictions/PredictionServiceImpl.java - Prediction jobs
ai_predictions/get_predictions.py
Exchange
- Binance service
server/binance-service/src/main/java/com/tradebit/controller/BinanceController.java - Account and wallet
server/binance-service/src/main/java/com/tradebit/controller/AccountController.java - Market data access
server/binance-service/src/main/java/com/tradebit/services/BinanceApiService.java - Exchange account data
server/binance-service/src/main/java/com/tradebit/repositories/BinanceAccountLinkRepository.java
Messaging
- Message producer
server/amqp/src/main/java/com/tradebit/RabbitMQMessageProducer.java - RabbitMQ
- Email consumer
server/email/src/main/java/com/tradebit/rabbitmq/EmailConsumer.java - Email delivery
server/email/src/main/java/com/tradebit/services/EmailServiceImpl.java
Other components
- User
- Binance API
Connections 19
- User → Flutter client: uses
- Flutter client → API gateway: REST requests
- API gateway → Request tracking: filters
- Identity service → Keycloak: authenticates
- Identity service → User and token data: reads and writes
- Bot service → Bot execution: manages
- Bot service → Manual orders: handles
- Bot service → Prediction service: serves forecasts
- Bot execution → Bot and order data: loads and saves
- Manual orders → Order history: records trades
- Prediction jobs → Prediction service: supplies forecasts
- Binance service → Account and wallet: handles accounts
- Binance service → Market data access: fetches market data
- Account and wallet → Exchange account data: reads and writes
- Market data access → Binance API: requests data
- Binance service → Binance API: executes trades
- Message producer → RabbitMQ: publishes messages
- RabbitMQ → Email consumer: delivers messages
- Email consumer → Email delivery: requests delivery