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.






