How biikash1/tradeforge works
TradeForge is a Spring Boot backend for cryptocurrency trading, portfolio tracking, wallets, and fiat payments; its React trading terminal is a separate repository. The principal workflow is a client request routed through REST controllers to domain services, which execute trades or financial operations and persist state. Authentication, market data, portfolio/watchlists, and payment processing are distinct product branches. Several services are represented by the tree and README but were not sampled, so their connections are marked unverified rather than asserted as inspected.
Main entry points: UserController.java User API · PaymentService.java Payment service · CoinService.java Market data service · OrderExecutionEngine.java Order execution engine
Components 24
Identity and security
- Authentication API
src/main/java/com/cryptotrading/controller/AuthController.java - User API
src/main/java/com/cryptotrading/controller/UserController.java - User service
src/main/java/com/cryptotrading/service/UserService.java - OTP verification
src/main/java/com/cryptotrading/service/VerificationCodeService.java - Email delivery
src/main/java/com/cryptotrading/service/EmailService.java
Market and portfolio
- Coin API
src/main/java/com/cryptotrading/controller/CoinController.java - Market data service
src/main/java/com/cryptotrading/service/CoinService.java - Price streaming
src/main/java/com/cryptotrading/service/PriceStreamingService.java - Portfolio analytics
src/main/java/com/cryptotrading/service/PortfolioServiceImpl.java - Watchlists
src/main/java/com/cryptotrading/service/WatchlistServiceImpl.java
Trading execution
- Order API
src/main/java/com/cryptotrading/controller/OrderController.java - Order service
src/main/java/com/cryptotrading/service/OrderService.java - Order execution engine
src/main/java/com/cryptotrading/service/OrderExecutionEngine.java
Wallets and payments
- Payment API
src/main/java/com/cryptotrading/controller/PaymentController.java - Payment service
src/main/java/com/cryptotrading/service/PaymentService.java - Wallet service
src/main/java/com/cryptotrading/service/WalletService.java
Persistence and integrations
- User records
src/main/java/com/cryptotrading/model/User.java - Verification records
src/main/java/com/cryptotrading/model/VerificationCode.java - Coin records
src/main/java/com/cryptotrading/model/Coin.java - Order records
src/main/java/com/cryptotrading/model/Order.java - Payment orders
src/main/java/com/cryptotrading/model/PaymentOrder.java - Wallet ledger
src/main/java/com/cryptotrading/model/WalletTransaction.java
Other components
- Trading client
- Razorpay and Stripe
Connections 26
- Trading client → Authentication API: authenticates
- Trading client → User API: manages profile
- Trading client → Coin API: requests market data
- Trading client → Order API: places orders
src/main/java/com/cryptotrading/controller/OrderController.java - Trading client → Payment API: starts payment
- Authentication API → User records: saves users
src/main/java/com/cryptotrading/controller/AuthController.java - Authentication API → Email delivery: sends OTP
src/main/java/com/cryptotrading/controller/AuthController.java - User API → User service: loads users
src/main/java/com/cryptotrading/controller/UserController.java - User API → OTP verification: creates and verifies codes
src/main/java/com/cryptotrading/controller/UserController.java - User API → Email delivery: sends OTP
src/main/java/com/cryptotrading/controller/UserController.java - OTP verification → Verification records: persists codes
src/main/java/com/cryptotrading/service/VerificationCodeService.java - Coin API → Market data service: requests coins
src/main/java/com/cryptotrading/controller/CoinController.java - Market data service → Coin records: manages coin data
src/main/java/com/cryptotrading/service/CoinService.java - Price streaming → Market data service: reads prices
src/main/java/com/cryptotrading/service/PriceStreamingService.java - Trading client → Portfolio analytics: views portfolio
- Trading client → Watchlists: manages watchlist
- Order API → Order service: submits orders
src/main/java/com/cryptotrading/controller/OrderController.java - Order execution engine → Order records: loads pending orders
src/main/java/com/cryptotrading/service/OrderExecutionEngine.java - Order execution engine → Market data service: fetches current price
src/main/java/com/cryptotrading/service/OrderExecutionEngine.java - Order execution engine → Order service: dispatches execution
src/main/java/com/cryptotrading/service/OrderExecutionEngine.java - Order service → Order records: persists orders
src/main/java/com/cryptotrading/service/OrderService.java - Payment API → Payment service: processes payments
src/main/java/com/cryptotrading/controller/PaymentController.java - Payment service → Payment orders: tracks payment orders
src/main/java/com/cryptotrading/service/PaymentService.java - Payment service → Wallet service: credits wallet
- Wallet service → Wallet ledger: records ledger entries
- Payment service → Razorpay and Stripe: verifies payment