A full-stack coin trading web application that enables users to view real-time crypto data, manage portfolios, buy/sell assets, and maintain a watchlist — built using React, Redux, Spring Boot, and MySQL.
- Secure user registration & login with JWT-based authentication
 - OTP verification support for signup/login
 - Password reset via email OTP
 
- Real-time coin data from CoinGecko API
 - Price charts with interactive graphs
 - Coin filtering and search functionality
 
- Buy and Sell coins with dynamic pricing
 - Transaction history and activity log
 
- Wallet balance and asset overview
 - Aggregated stats on holdings
 
- Add/remove coins from personalized watchlist
 - Quick access to tracked coins
 
| Frontend | Backend | Database | Others | 
|---|---|---|---|
| React + Vite | Java Spring Boot | MySQL | Redux, Tailwind CSS | 
| React Router DOM | Spring Security + JWT | Radix UI, Lucide Icons | 
- A full Postman collection for backend testing is included in the repo.
 
📁 File: TradingPlatform.postman_collection.json
Main Endpoints:
POST /auth/register– Register userPOST /auth/authenticate– LoginPOST /auth/verify-otp– OTP verificationGET /coins– List of coins (with pagination/filter)GET /coins/:id/chart– Get chart data by coin IDGET /wallet– Get user walletPOST /orders– Buy/Sell assetGET /watchlist– Get user's watchlistPOST /watchlist/:coinId– Toggle coin in watchlist
git clone https://github.com/Devansh-ds/RealTimeTrading.git
cd RealTimeTrading- Ensure MySQL is running
 - Update 
application.propertieswith DB credentials - Run 
TradingApplication.javafrom your IDE or via Maven: 
./mvnw spring-boot:runcd frontend
npm install
npm run dev├── backend
│   ├── src/main/java/com/devansh/trading
│   └── ... Spring Boot Application
├── frontend
│   ├── src/pages
│   ├── src/state
│   └── ...
├── TradingPlatform.postman_collection.json
Feel free to fork this repository and submit PRs. Feedback and improvements are welcome!
Devansh Singla GitHub | LinkedIn
This project is open-sourced under the MIT License.






