AI-Powered Cryptocurrency Trading Platform
A full-stack cryptocurrency trading platform featuring secure authentication, portfolio management, live market data, AI-powered insights using Gemini, and payment integration for wallet recharge.
I built CryptoTradeX to get hands-on with something I'd only read about in theory — building a backend that actually has to be secure and reliable, not just "work on my machine." A crypto trading platform felt like the right challenge for that: it touches authentication, real money-like transactions, live data, and now, AI, so it forced me to think about a lot of moving parts at once instead of just one feature in isolation.
At its core, it's a Spring Boot backend paired with a React frontend, MySQL for storage, and Gemini AI bolted on for market insights. Nothing about it is "toy" scale on purpose — I wanted the auth flow, the trading logic, and the payment handling to feel close to what you'd actually ship.
This was the first thing I got working, and honestly the part I spent the most time getting right. It's JWT-based, sitting on top of Spring Security, with passwords hashed using BCrypt so nothing sensitive is ever stored in plain text. There's role-based access control too, so not every user hits the same set of permissions, and every API route that should be protected actually is.
Fairly straightforward on the surface — users can browse available cryptocurrencies, buy and sell them, and keep an eye on their portfolio — but under the hood it meant getting transaction history, wallet balances, and holdings to stay in sync without weird edge cases creeping in.
Probably my favorite part. I integrated Gemini through Spring AI so users can ask it things like what's driving a trend or get a plain-English summary of a coin instead of digging through raw numbers themselves. Rather than just firing raw prompts at Gemini, I set up a small RAG pipeline that pulls relevant market context first and feeds that in alongside the question. It noticeably improved how grounded the answers felt compared to just asking Gemini cold.
Runs through Razorpay. This part taught me a lot about the less glamorous side of payments — verifying webhooks properly, making sure a wallet only gets credited once a payment is actually confirmed, and keeping an accurate transaction log so nothing silently goes missing.
The backend follows a fairly classic layered setup — controllers handle requests, services hold the business logic, repositories talk to the database, and security sits across all of it. I kept it this way mostly for my own sanity; it made debugging and extending features a lot easier than if everything lived in one giant service class. MySQL handles users, wallets, transactions, portfolio holdings, and order history, all modeled through JPA and Hibernate.
This project is really where JWT authentication, secure REST API design, and payment gateway integration finally clicked for me beyond just following a tutorial. Getting the RAG pipeline to actually improve the AI's answers, rather than just adding complexity for its own sake, was probably the most satisfying "it works" moment of the whole build.