Skip to main content

CryptoTradeX

AI-Powered Cryptocurrency Trading Platform

JAVA / SPRING BOOT / GEMINI AI

Executive Summary

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.

What it actually does

Authentication

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.

Trading

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.

AI Market Assistant

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.

Wallet Recharge

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.

How it's structured

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.

Tech Stack

  • Backend: Java, Spring Boot, Spring Security, Spring Data JPA, Hibernate
  • Frontend: React.js, Redux Toolkit, Tailwind CSS
  • Database: MySQL
  • AI: Spring AI, Gemini API, RAG
  • Payments: Razorpay

What I took away from it

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.

Built With:
React.jsSpring BootMySQLJWTSpring SecurityRazorpayGemini AISpring AIRAG