TradeXpert - CryptoTradingPlatform
DEMO - https://youtu.be/NaR7k9jVeW8
A cryptocurrency trading platform allows users to buy, sell, and trade digital currencies like Bitcoin and Ethereum. Cryptocurrencies are decentralized digital assets that use blockchain technology for secure and transparent transactions without the need for banks or intermediaries.
So, I developed a full-stack crypto trading platform that allows users to trade cryptocurrencies seamlessly with **real-time market data**
. I integrated the**CoinGecko API**
to provide live price updates and market trends, while **Razorpay**
and **Stripe**
payment gateways are used for secure and efficient payment processing. The platform includes **JWT-based authentication**
for enhanced security, allowing users to manage their accounts safely. I also integrated the **Gemini API to build a chatbot**
that assists users with quick information and trading queries. The backend is built using **Spring Boot**
, and the frontend with **React.js**
, providing a smooth, responsive experience for executing trades, managing portfolios, and handling payments.
SpringBoot
Java 17
React js
javascript
Tailwind css
AI chatbot
RazorPay
Stripe
Real time data ( Coingecko API )
Spring security ( JWT )
wishlist
wallet
portfolio
profile
2 step verification
money transfer
transaction history
Activity
withdrawal
logout
Otp service
real time graph
Buy and sell
+---------------------+ +-----------------+
| Users |<--------->| Wallets |
|---------------------| +-----------------+
| id | ^
| fullName | |
| email | |
| ... | |
+---------------------+ |
|
+--------------------+ +-----------------+
| Assets |<---------->| WalletTransactions |
|--------------------| +-----------------+
| id |
| quantity |
| buy_price |<---------->+-----------------+
| coin_id | | Coins |
| user_id | +-----------------+
+--------------------+ | id |
| symbol |
+--------------------+ | ... |
| Withdrawals |<---------->+-----------------+
|--------------------|
| id |
| status |
| amount |
| user_id |
| date |
+--------------------+
+--------------------+
| Watchlists |
|--------------------+
| id |
| user_id |
+--------------------+
|
|
v
+--------------------+
| Watchlist_Coins |
|--------------------+
| watchlist_id |
| coin_id |
+--------------------+
+---------------------+ +---------------------+
| VerificationCodes |<--------->| Users |
|---------------------| +---------------------+
| id |
| otp |
| user_id |
| email |
| mobile |
| verification_type |
+---------------------+
+---------------------+ +---------------------+
| TradingHistories |<--------->| Users |
|---------------------| +---------------------+
| id |
| selling_price |
| buying_price |
| coin_id |
| user_id |
+---------------------+
+---------------------+ +---------------------+
| PaymentOrders |<--------->| Users |
|---------------------| +---------------------+
| id |
| amount |
| status |
| payment_method |
| user_id |
+---------------------+
+---------------------+ +---------------------+
| PaymentDetails |<--------->| Users |
|---------------------| +---------------------+
| id |
| account_number |
| account_holder_name |
| ifsc |
| bank_name |
| user_id |
+---------------------+
+---------------------+ +---------------------+
| Orders |<--------->| Users |
|---------------------| +---------------------+
| id |
| user_id |
| order_type |
| price |
| timestamp |
| status |
| order_item_id |
+---------------------+
|
|
v
+---------------------+ +---------------------+
| OrderItems |<--------->| Coins |
|---------------------| +---------------------+
| id |
| quantity |
| coin_id |
| buy_price |
| sell_price |
| order_id |
+---------------------+
+---------------------+ +---------------------+
| Notifications | <---------> | Users |
|---------------------| +---------------------+
| id |
| from_user_id |
| to_user_id |
| amount |
| message |
+---------------------+
+---------------------+
| MarketChartData |
|---------------------|
| id |
| timestamp |
| price |
+---------------------+
+---------------------+ +---------------------+
| ForgotPasswordTokens|<--------->| Users |
|---------------------| +---------------------+
| id |
| user_id |
| otp |
| verification_type |
| send_to |
+---------------------+
Field
Type
id
bigint
fullName
varchar
email
varchar
mobile
varchar
password
varchar
status
varchar
isVerified
boolean
twoFactorAuth_enabled
boolean
twoFactorAuth_sendTo
varchar
picture
varchar
role
varchar
Field
Type
id
varchar
symbol
varchar
name
varchar
image
varchar
current_price
double
market_cap
bigint
market_cap_rank
int
fully_diluted_valuation
bigint
total_volume
bigint
high_24h
double
low_24h
double
price_change_24h
double
price_change_percentage_24h
double
market_cap_change_24h
bigint
market_cap_change_percentage_24h
double
circulating_supply
bigint
total_supply
bigint
max_supply
bigint
ath
double
ath_change_percentage
double
ath_date
datetime
atl
double
atl_change_percentage
double
atl_date
datetime
roi
varchar
last_updated
datetime
Field
Type
id
bigint
quantity
double
buy_price
double
coin_id
varchar
user_id
bigint
Field
Type
id
bigint
status
varchar
amount
bigint
user_id
bigint
date
datetime
Field
Type
id
bigint
user_id
bigint
Field
Type
watchlist_id
bigint
coin_id
varchar
Field
Type
id
bigint
wallet_id
bigint
type
varchar
date
datetime
transfer_id
varchar
purpose
varchar
amount
bigint
Field
Type
id
bigint
user_id
bigint
balance
decimal
Field
Type
id
bigint
otp
varchar
user_id
bigint
email
varchar
mobile
varchar
verification_type
varchar
Field
Type
id
bigint
selling_price
double
buying_price
double
coin_id
varchar
user_id
bigint
Field
Type
id
bigint
amount
bigint
status
varchar
payment_method
varchar
user_id
bigint
Field
Type
id
bigint
account_number
varchar
account_holder_name
varchar
ifsc
varchar
bank_name
varchar
user_id
bigint
Field
Type
id
bigint
user_id
bigint
order_type
varchar
price
decimal
timestamp
datetime
status
varchar
order_item_id
bigint
Field
Type
id
bigint
quantity
double
coin_id
varchar
buy_price
double
sell_price
double
order_id
bigint
Field
Type
id
bigint
from_user_id
bigint
to_user_id
bigint
amount
bigint
message
varchar
Field
Type
id
bigint
timestamp
datetime
price
double
ForgotPasswordTokens Table
Field
Type
id
varchar
user_id
bigint
otp
varchar
verification_type
varchar
send_to
varchar