├── Database Tables.md └── README.md /Database Tables.md: -------------------------------------------------------------------------------- 1 | ## Users Table 2 | 3 | | Field | Type | 4 | |-------------------------|---------| 5 | | id | bigint | 6 | | fullName | varchar | 7 | | email | varchar | 8 | | mobile | varchar | 9 | | password | varchar | 10 | | status | varchar | 11 | | isVerified | boolean | 12 | | twoFactorAuth_enabled | boolean | 13 | | twoFactorAuth_sendTo | varchar | 14 | | picture | varchar | 15 | | role | varchar | 16 | 17 | ## Coins Table 18 | 19 | | Field | Type | 20 | |-------------------------|---------| 21 | | id | varchar | 22 | | symbol | varchar | 23 | | name | varchar | 24 | | image | varchar | 25 | | current_price | double | 26 | | market_cap | bigint | 27 | | market_cap_rank | int | 28 | | fully_diluted_valuation | bigint | 29 | | total_volume | bigint | 30 | | high_24h | double | 31 | | low_24h | double | 32 | | price_change_24h | double | 33 | | price_change_percentage_24h | double | 34 | | market_cap_change_24h | bigint | 35 | | market_cap_change_percentage_24h | double | 36 | | circulating_supply | bigint | 37 | | total_supply | bigint | 38 | | max_supply | bigint | 39 | | ath | double | 40 | | ath_change_percentage | double | 41 | | ath_date | datetime| 42 | | atl | double | 43 | | atl_change_percentage | double | 44 | | atl_date | datetime| 45 | | roi | varchar | 46 | | last_updated | datetime| 47 | 48 | ## Assets Table 49 | 50 | | Field | Type | 51 | |-----------|---------| 52 | | id | bigint | 53 | | quantity | double | 54 | | buy_price | double | 55 | | coin_id | varchar | 56 | | user_id | bigint | 57 | 58 | ## Withdrawals Table 59 | 60 | | Field | Type | 61 | |--------|---------| 62 | | id | bigint | 63 | | status | varchar | 64 | | amount | bigint | 65 | | user_id| bigint | 66 | | date | datetime| 67 | 68 | ## Watchlists Table 69 | 70 | | Field | Type | 71 | |---------|---------| 72 | | id | bigint | 73 | | user_id | bigint | 74 | 75 | ## Watchlist_Coins Table 76 | 77 | | Field | Type | 78 | |---------------|---------| 79 | | watchlist_id | bigint | 80 | | coin_id | varchar | 81 | 82 | ## WalletTransactions Table 83 | 84 | | Field | Type | 85 | |-------------|---------| 86 | | id | bigint | 87 | | wallet_id | bigint | 88 | | type | varchar | 89 | | date | datetime| 90 | | transfer_id | varchar | 91 | | purpose | varchar | 92 | | amount | bigint | 93 | 94 | ## Wallets Table 95 | 96 | | Field | Type | 97 | |---------|-----------| 98 | | id | bigint | 99 | | user_id | bigint | 100 | | balance | decimal | 101 | 102 | ## VerificationCodes Table 103 | 104 | | Field | Type | 105 | |-------------------|---------| 106 | | id | bigint | 107 | | otp | varchar | 108 | | user_id | bigint | 109 | | email | varchar | 110 | | mobile | varchar | 111 | | verification_type | varchar | 112 | 113 | ## TradingHistories Table 114 | 115 | | Field | Type | 116 | |---------------|---------| 117 | | id | bigint | 118 | | selling_price | double | 119 | | buying_price | double | 120 | | coin_id | varchar | 121 | | user_id | bigint | 122 | 123 | ## PaymentOrders Table 124 | 125 | | Field | Type | 126 | |---------------|---------| 127 | | id | bigint | 128 | | amount | bigint | 129 | | status | varchar | 130 | | payment_method| varchar | 131 | | user_id | bigint | 132 | 133 | ## PaymentDetails Table 134 | 135 | | Field | Type | 136 | |---------------------|---------| 137 | | id | bigint | 138 | | account_number | varchar | 139 | | account_holder_name | varchar | 140 | | ifsc | varchar | 141 | | bank_name | varchar | 142 | | user_id | bigint | 143 | 144 | ## Orders Table 145 | 146 | | Field | Type | 147 | |--------------|-----------| 148 | | id | bigint | 149 | | user_id | bigint | 150 | | order_type | varchar | 151 | | price | decimal | 152 | | timestamp | datetime | 153 | | status | varchar | 154 | | order_item_id| bigint | 155 | 156 | ## OrderItems Table 157 | 158 | | Field | Type | 159 | |--------------|---------| 160 | | id | bigint | 161 | | quantity | double | 162 | | coin_id | varchar | 163 | | buy_price | double | 164 | | sell_price | double | 165 | | order_id | bigint | 166 | 167 | ## Notifications Table 168 | 169 | | Field | Type | 170 | |--------------|---------| 171 | | id | bigint | 172 | | from_user_id | bigint | 173 | | to_user_id | bigint | 174 | | amount | bigint | 175 | | message | varchar | 176 | 177 | ## MarketChartData Table 178 | 179 | | Field | Type | 180 | |--------------|---------| 181 | | id | bigint | 182 | | timestamp | datetime| 183 | | price | double | 184 | 185 | ## ForgotPasswordTokens Table 186 | 187 | | Field | Type | 188 | |-------------------|---------| 189 | | id | varchar | 190 | | user_id | bigint | 191 | | otp | varchar | 192 | | verification_type | varchar | 193 | | send_to | varchar | 194 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Treading-Platform 2 | full stack project using spring boot and react 3 | 4 | ## Database Design & Tables 5 | 6 | link : https://watery-lunaria-74f.notion.site/Full-Stack-Treading-Plateform-b8111323c3324df195b85686be63ed28?pvs=4 7 | 8 | 9 | ## Er Diagram 10 | 11 | ``` 12 | +---------------------+ +-----------------+ 13 | | Users |<--------->| Wallets | 14 | |---------------------| +-----------------+ 15 | | id | ^ 16 | | fullName | | 17 | | email | | 18 | | ... | | 19 | +---------------------+ | 20 | | 21 | +--------------------+ +-----------------+ 22 | | Assets |<---------->| WalletTransactions | 23 | |--------------------| +-----------------+ 24 | | id | 25 | | quantity | 26 | | buy_price |<---------->+-----------------+ 27 | | coin_id | | Coins | 28 | | user_id | +-----------------+ 29 | +--------------------+ | id | 30 | | symbol | 31 | +--------------------+ | ... | 32 | | Withdrawals |<---------->+-----------------+ 33 | |--------------------| 34 | | id | 35 | | status | 36 | | amount | 37 | | user_id | 38 | | date | 39 | +--------------------+ 40 | 41 | +--------------------+ 42 | | Watchlists | 43 | |--------------------+ 44 | | id | 45 | | user_id | 46 | +--------------------+ 47 | | 48 | | 49 | v 50 | +--------------------+ 51 | | Watchlist_Coins | 52 | |--------------------+ 53 | | watchlist_id | 54 | | coin_id | 55 | +--------------------+ 56 | 57 | +---------------------+ +---------------------+ 58 | | VerificationCodes |<--------->| Users | 59 | |---------------------| +---------------------+ 60 | | id | 61 | | otp | 62 | | user_id | 63 | | email | 64 | | mobile | 65 | | verification_type | 66 | +---------------------+ 67 | 68 | +---------------------+ +---------------------+ 69 | | TradingHistories |<--------->| Users | 70 | |---------------------| +---------------------+ 71 | | id | 72 | | selling_price | 73 | | buying_price | 74 | | coin_id | 75 | | user_id | 76 | +---------------------+ 77 | 78 | +---------------------+ +---------------------+ 79 | | PaymentOrders |<--------->| Users | 80 | |---------------------| +---------------------+ 81 | | id | 82 | | amount | 83 | | status | 84 | | payment_method | 85 | | user_id | 86 | +---------------------+ 87 | 88 | +---------------------+ +---------------------+ 89 | | PaymentDetails |<--------->| Users | 90 | |---------------------| +---------------------+ 91 | | id | 92 | | account_number | 93 | | account_holder_name | 94 | | ifsc | 95 | | bank_name | 96 | | user_id | 97 | +---------------------+ 98 | 99 | +---------------------+ +---------------------+ 100 | | Orders |<--------->| Users | 101 | |---------------------| +---------------------+ 102 | | id | 103 | | user_id | 104 | | order_type | 105 | | price | 106 | | timestamp | 107 | | status | 108 | | order_item_id | 109 | +---------------------+ 110 | | 111 | | 112 | v 113 | +---------------------+ +---------------------+ 114 | | OrderItems |<--------->| Coins | 115 | |---------------------| +---------------------+ 116 | | id | 117 | | quantity | 118 | | coin_id | 119 | | buy_price | 120 | | sell_price | 121 | | order_id | 122 | +---------------------+ 123 | 124 | +---------------------+ +---------------------+ 125 | | Notifications | <---------> | Users | 126 | |---------------------| +---------------------+ 127 | | id | 128 | | from_user_id | 129 | | to_user_id | 130 | | amount | 131 | | message | 132 | +---------------------+ 133 | 134 | +---------------------+ 135 | | MarketChartData | 136 | |---------------------| 137 | | id | 138 | | timestamp | 139 | | price | 140 | +---------------------+ 141 | 142 | +---------------------+ +---------------------+ 143 | | ForgotPasswordTokens|<--------->| Users | 144 | |---------------------| +---------------------+ 145 | | id | 146 | | user_id | 147 | | otp | 148 | | verification_type | 149 | | send_to | 150 | +---------------------+ 151 | 152 | ``` 153 | 154 | # Database Tables 155 | 156 | ## Users Table 157 | 158 | | Field | Type | 159 | |-------------------------|---------| 160 | | id | bigint | 161 | | fullName | varchar | 162 | | email | varchar | 163 | | mobile | varchar | 164 | | password | varchar | 165 | | status | varchar | 166 | | isVerified | boolean | 167 | | twoFactorAuth_enabled | boolean | 168 | | twoFactorAuth_sendTo | varchar | 169 | | picture | varchar | 170 | | role | varchar | 171 | 172 | ## Coins Table 173 | 174 | | Field | Type | 175 | |-------------------------|---------| 176 | | id | varchar | 177 | | symbol | varchar | 178 | | name | varchar | 179 | | image | varchar | 180 | | current_price | double | 181 | | market_cap | bigint | 182 | | market_cap_rank | int | 183 | | fully_diluted_valuation | bigint | 184 | | total_volume | bigint | 185 | | high_24h | double | 186 | | low_24h | double | 187 | | price_change_24h | double | 188 | | price_change_percentage_24h | double | 189 | | market_cap_change_24h | bigint | 190 | | market_cap_change_percentage_24h | double | 191 | | circulating_supply | bigint | 192 | | total_supply | bigint | 193 | | max_supply | bigint | 194 | | ath | double | 195 | | ath_change_percentage | double | 196 | | ath_date | datetime| 197 | | atl | double | 198 | | atl_change_percentage | double | 199 | | atl_date | datetime| 200 | | roi | varchar | 201 | | last_updated | datetime| 202 | 203 | ## Assets Table 204 | 205 | | Field | Type | 206 | |-----------|---------| 207 | | id | bigint | 208 | | quantity | double | 209 | | buy_price | double | 210 | | coin_id | varchar | 211 | | user_id | bigint | 212 | 213 | ## Withdrawals Table 214 | 215 | | Field | Type | 216 | |--------|---------| 217 | | id | bigint | 218 | | status | varchar | 219 | | amount | bigint | 220 | | user_id| bigint | 221 | | date | datetime| 222 | 223 | ## Watchlists Table 224 | 225 | | Field | Type | 226 | |---------|---------| 227 | | id | bigint | 228 | | user_id | bigint | 229 | 230 | ## Watchlist_Coins Table 231 | 232 | | Field | Type | 233 | |---------------|---------| 234 | | watchlist_id | bigint | 235 | | coin_id | varchar | 236 | 237 | ## WalletTransactions Table 238 | 239 | | Field | Type | 240 | |-------------|---------| 241 | | id | bigint | 242 | | wallet_id | bigint | 243 | | type | varchar | 244 | | date | datetime| 245 | | transfer_id | varchar | 246 | | purpose | varchar | 247 | | amount | bigint | 248 | 249 | ## Wallets Table 250 | 251 | | Field | Type | 252 | |---------|-----------| 253 | | id | bigint | 254 | | user_id | bigint | 255 | | balance | decimal | 256 | 257 | ## VerificationCodes Table 258 | 259 | | Field | Type | 260 | |-------------------|---------| 261 | | id | bigint | 262 | | otp | varchar | 263 | | user_id | bigint | 264 | | email | varchar | 265 | | mobile | varchar | 266 | | verification_type | varchar | 267 | 268 | ## TradingHistories Table 269 | 270 | | Field | Type | 271 | |---------------|---------| 272 | | id | bigint | 273 | | selling_price | double | 274 | | buying_price | double | 275 | | coin_id | varchar | 276 | | user_id | bigint | 277 | 278 | ## PaymentOrders Table 279 | 280 | | Field | Type | 281 | |---------------|---------| 282 | | id | bigint | 283 | | amount | bigint | 284 | | status | varchar | 285 | | payment_method| varchar | 286 | | user_id | bigint | 287 | 288 | ## PaymentDetails Table 289 | 290 | | Field | Type | 291 | |---------------------|---------| 292 | | id | bigint | 293 | | account_number | varchar | 294 | | account_holder_name | varchar | 295 | | ifsc | varchar | 296 | | bank_name | varchar | 297 | | user_id | bigint | 298 | 299 | ## Orders Table 300 | 301 | | Field | Type | 302 | |--------------|-----------| 303 | | id | bigint | 304 | | user_id | bigint | 305 | | order_type | varchar | 306 | | price | decimal | 307 | | timestamp | datetime | 308 | | status | varchar | 309 | | order_item_id| bigint | 310 | 311 | ## OrderItems Table 312 | 313 | | Field | Type | 314 | |--------------|---------| 315 | | id | bigint | 316 | | quantity | double | 317 | | coin_id | varchar | 318 | | buy_price | double | 319 | | sell_price | double | 320 | | order_id | bigint | 321 | 322 | ## Notifications Table 323 | 324 | | Field | Type | 325 | |--------------|---------| 326 | | id | bigint | 327 | | from_user_id | bigint | 328 | | to_user_id | bigint | 329 | | amount | bigint | 330 | | message | varchar | 331 | 332 | ## MarketChartData Table 333 | 334 | | Field | Type | 335 | |--------------|---------| 336 | | id | bigint | 337 | | timestamp | datetime| 338 | | price | double | 339 | 340 | ## ForgotPasswordTokens Table 341 | 342 | | Field | Type | 343 | |-------------------|---------| 344 | | id | varchar | 345 | | user_id | bigint | 346 | | otp | varchar | 347 | | verification_type | varchar | 348 | | send_to | varchar | 349 | 350 | --------------------------------------------------------------------------------