Tradexpro Exchange is a complete crypto coins exchange platform developed with Laravel and next js. It is the best choice to buy, sell or exchange any crypto coin that works via coin payment or bitcoin fork node. It will connect with a coin payment merchant account, or also connect with node. Our system is 100% secure and dynamic. It supports all cryptocurrency wallets including Coin Payment, Buy , Sell , Stop Limit, Deposit, Withdrawal, Referral system, and whatever you need. The most attractive feature of this platform is trading. In the trading system, you can place buy and sell orders according to your preferences of coin prices. Beside that, you can check your balance from wallet section. You can also check your buy-sell transaction status, deposit, withdrawal histories.
Admin side requirement :
User side requirement :
Admin Side Developed With LARAVEL
User Side Developed With Next Js
'Tradexpro Exchange' is bundled with files:
Here you keep your file
open terminal in this path
write "php artisan serve" and hit enter
Welcome page. Start the install process
After run the project you see this page
Check server requirement
Check and give permission
Verify Envato Purchase code
Put here your purchase code
Setup project Environment
Give here your app title, database name, username, password etc
Then click the setup install button
Installation Finish
Sign in page
login to the server
suppose "root@demo-server:"
install the "nginx"
"sudo apt install nginx"
Get a listing of the application profiles:
sudo ufw app list
It is recommended that you enable the most restrictive profile that will still allow the traffic you’ve configured. Right now, we will only need to allow traffic on port 80. You can enable this by typing:
sudo ufw allow 'Nginx HTTP'
check the status
sudo ufw status
As confirmed by this out, the service has started successfully. However, the best way to test this is to actually request a page from Nginx. You can access the default Nginx landing page to confirm that the software is running properly by navigating to your server’s IP address.
Managing the Nginx Process
then update
sudo apt-get update
Now need to install php
sudo apt -y install php7.4
We use nginx so disable the apache2
sudo systemctl disable --now apache2
Install fpm
sudo apt-get install nginx php7.4-fpm
Install some php package
sudo apt-get install -y php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
Install mysql server
sudo apt install mysql-server
start mysql server and check
sudo systemctl start mysql.service
mysql
Add password to user
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'myPassword';
flush privileges;
Create new database
create database demo;
quit;
Go to nginx path
cd /etc/nginx/sites-available/
nano default
Delete everything and just keep as bellow image
Make a directory to /var/www/ path
cd /var/www/
mkdr demo (demo is the folder name)
inside the demo folder just keep the admin code file (extract files)
This should looks like --->
create a new .env file and edit it
add the database name, user name, password etc (can follow the .env.example file)
nano .env
This should looks like --->
install the composer
if composer not found run this command first,
sudo apt install composer
Then
composer install
Now need have some permission
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
another file need to give permission
sudo chmod -R 777 /public/uploaded_file
Generate the key
php artisan key:generate
Migration the database file also seed
php artisan migrate --seed
Install passport package
php artisan passport:install
Now all done. just open browser and check site
Another thing: need to use supervisor so install first
sudo apt update && sudo apt install supervisor
Config supervisor
sudo systemctl status supervisor
got to this path and open cron.conf file
cd /etc/supervisor/conf.d/
nano cron.conf
inside this the cron.conf file write down the below code and save it
here need to configure sockets, scheduler and horizon
Then run these command
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
Welcome page. Start the install process
After run the project you see this page
Check server requirement
Check and give permission
Verify Envato Purchase code
Put here your purchase code
Setup project Environment
Fill up Environment Setup Form
Give here your app title, database name, username, password etc
Then click the setup install button
Installation Finish
Sign in page
Welcome page. Start the install process
After run the project you see this page
Check server requirement
Check and give permission
Verify Envato Purchase code
Put here your purchase code
Setup project Environment
Fill up Environment Setup Form
Give here your app title, database name, username, password etc
Then click the setup install button
Installation Finish
Sign In page
login to the server
suppose "root@demo-server:"
Make a directory to /var/www/ path
cd /var/www/
mkdr demonode (demonode is the folder name)
inside the demonode folder just keep the user code file (extract files)
This should looks like --->
Install nodejs
sudo apt install nodejs
install yarn
sudo apt install yarn
Now go to the demonode path
cd /var/www/demonode/
yarn install
Then go to this path
cd /etc/nginx/sites-available/
cp -r default nodedemo
nano nodedemo
in the file write down these code
Then run this command
sudo ln -s /etc/nginx/sites-available/nodedemo /etc/nginx/sites-enabled/
service nginx reload
service nginx reload
now time to build the project
cd /var/www/demonode/
open the ".env.production" file
nano .env.production
change the text
NEXT_PUBLIC_BASE_URL ='your domain name /api'
GENERATE_SOURCEMAP = false
NEXT_PUBLIC_WS_URL = 'wss://your domain name/app/test'
NEXT_PUBLIC_STRIPE_SECRET_KEY= "your_key"
NEXT_PUBLIC_PAYPAL_CLIENT_KEY="your_key"
NEXT_PUBLIC_HOST_SOCKET ="your domain name"
and other things like as below image
build the yarn
yarn installs
then
yarn starts
add pm2
yarn add pm2 -g
now go to supervisor
cd /etc/supervisor/conf.d
nano cron.conf
add here node program
Then run these command
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
if not working then build the yarn again
yarn installs
then
yarn starts
Now all done. just open browser and check site
From here admin can active or deactive any coin
From here admin can update the coin rate with USD, that show in coin price
coin type : Please make sure your coin type is right. Never input wrong coin type
coin network : (coin payment or personal network bitcoin base node)Please make sure your coin network is right.You never change this network. So be careful
Trading pair of base coin and trade coin
By clicking add new pair admin can add new coin pair
Also update the coin pair
if you want you can update your chart data with cryptocompare historical data . we take the data from api and save it to database, when trade happened in your site it also save in database and show you the latest price
if you don't need this just ignore please. no problem
Pending kyc list
In details page ,Pending id verify approve or reject process
All list of user wallets
admin can send coin to any user's wallet if he want
Deposit list of user
Withdrawal list of user
From here admin can accept or reject the pending withdrawals
Suppose user deposit any token to system but not fully deposited for any reason, so from here admin can approve or reject it
get all currency : if click then get all the currency
Live update rate : if click then update the rate from api
Add New Currency : able to add new currency
Check this carefully and update the all things using the input label
Check this carefully and update the all things using the input label
Check this carefully and update the all things using the input label
Check this carefully and update the all things using the input label
for more info please follow our coin payment integration part
Check this carefully and update the all things using the input label
add here your bitcoin base credential
Check this carefully and update the all things using the input label
we have 3 level referral bonus, when user make external withdrawal then it distribute instantly
From here admin can add new banner also edit banner
From here admin can add new feature also edit feature
Developed with Next Js
User Exchange Dashboard
this is the main page of this site, so explore this page perfectly please
only for admin end
like "/var/www/tradexpro-exchange/"
"php artisan translation:sync-missing-translation-keys "
Account Settings and Important Information
To start accepting cryptocurrency payments, the first step is the create a CoinPayments account! Get started by following along the steps below to sign up for a CoinPayments account and customize the account settings that are ideal for your business.
SIGN UP
Sign up for a CoinPayments account here or click the Sign Up button in the top right corner of the CoinPayments website .This will add to your admin coin payment setting
Deposit with coin payment
add here your IPN Secret and notifier urlGet market price
https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/price/BTC_USDT
Request Parameter | Data Type | Required | Description |
---|---|---|---|
symbol | string | false | coin pair like BTC_USDT,LTC_USDT,ETH_USDT,USDT_BTC etc |
The response is a list of data values displayed in an array in the following order:
if url is "https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/price/BTC_USDT" then response =
['success' => true/false, 'message' => 'success or error message', 'data' => {}
if url is "https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/price" then response =
['success' => true/false, 'message' => 'success or error message', 'data' => [{},{},....]
Data Field | Data Type | Description |
---|---|---|
symbol | string | symbol name |
trade_coin | string | trade coin full name |
base_coin | string | base coin full name |
price | string | current price |
price_change_24h | string | price change in last 24 hour |
volume_24h | string | last 24 hour volume |
high_24h | string | highest price of last 24 hour |
low_24h | string | lowest price of last 24 hour |
Get market orderBook data
https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/orderBook/BTC_USDT
Request Parameter | Data Type | Required | Description |
---|---|---|---|
symbol | string | true | coin pair like BTC_USDT,LTC_USDT,ETH_USDT,USDT_BTC etc |
limit | Integer | false | maximum number of records returned |
type | string | false | order type buy, sell , buy_sell, default is buy_sell |
The response is a list of data values displayed in an array in the following order:
['success' => true/false, 'message' => 'success or error message', 'data' => ['type' => buy_sell,'limit' => 10, 'buys' => [{},{}..],, 'sells' => [{},{}..]]
Data Field | Data Type | Description |
---|---|---|
amount | string | quote units traded |
price | string | trade price |
total | string | total trade coin (amount * price) |
exchanged | string | already exchanged amount |
date_time | string | time the record was pushed |
Get market trade data
https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/trade/BTC_USDT
Request Parameter | Data Type | Required | Description |
---|---|---|---|
symbol | string | true | coin pair like BTC_USDT,LTC_USDT,ETH_USDT,USDT_BTC etc |
limit | Integer | false | maximum number of records returned |
The response is a list of data values displayed in an array in the following order:
['success' => true/false, 'message' => 'success or error message', 'data' => ['limit' => 10, 'trade' => [{},{}..]]
Data Field | Data Type | Description |
---|---|---|
amount | string | quote units traded |
price | string | trade price |
last_price | string | market last traded price |
price_order_type | string | taker's trade side (BUY, SELL) |
total | string | total trade coin |
time | string | time the record was pushed |
Get market chart data
https://tradexpro-laravel.cdibrandstudio.com/api/v1/markets/chart/BTC_USDT
Request
Request Parameter | Data Type | Required | Description |
---|---|---|---|
symbol | string | true | coin pair like BTC_USDT,LTC_USDT,ETH_USDT,USDT_BTC etc |
start_time | long | false | filters by time. The default value is 0. |
end_time | long | false | filters by time. The default value is current time |
interval | Integer | false | 5 = 5minData, 15= 15 min Data, 30 = 30 min Data, 120 = 2 hour Data, 240 = 4 hour data, 1440 = 1 day data |
The response is a list of candles data values displayed in an array in the following order:
['success' => true/false, 'message' => 'success or error message', 'data' => [{},{},...]
Data Field | Data Type | Description |
---|---|---|
time | long | time the record was pushed |
low | string | lowest price over the interval |
high | string | highest price over the interval |
open | string | price at the start time |
close | string | price at the end time |
volume | string | base units traded over the interval |
Version 1.1 ( September 2022 )
Again, thank you for purchasing Tradexpro exchange. If you need some help, or support please use email or contact form via codecanyon Profile site.
Hope you happy with the Tradexpro Exchange , system, all the best with your business.
Copyright © 2022 . All rights reserved Tradexpro Exchange