Skip to content

quocvu88/binance-dashboard

Repository files navigation

Hệ thống Quản lý và Phân tích Đầu tư Binance (Binance Portfolio Manager)

Đây là một ứng dụng Web Application được xây dựng dựa trên Laravel 11Vue 3 (Inertia.js), cung cấp khả năng kết nối tự động với sàn giao dịch Binance thông qua API để theo dõi tài sản, tự động đồng bộ hóa giao dịch và phân tích hiệu quả đầu tư (PnL) một cách chính xác nhất.

🌟 Các Tính năng Nổi bật (Core Features)

  • Quản lý Đa Tài khoản (Multi-Account): Liên kết và quản lý song song nhiều tài khoản Binance thông qua API Keys (Read-only).
  • Đồng bộ Dữ liệu Toàn diện (Data Sync Engine):
    • Tự động lấy số dư ví Spot và các khoản Staking trên nền tảng Simple Earn (Flexible & Locked).
    • Quét và đối soát toàn bộ lịch sử Mua/Bán (Spot Trades).
    • Quét lịch sử dòng tiền pháp định P2P (Fiat Inflows/Outflows).
    • Quét lịch sử Nạp/Rút Crypto (Crypto Transfers).
    • Earn Rewards Tracking: Tính toán chính xác lượng lãi nhận được hàng ngày từ Staking bằng thuật toán bù trừ lịch sử 6 tháng.
    • Truy vết Nguồn gốc Coin: Ghi nhận toàn bộ các phát sinh số dư không đến từ Trade như: Cổ tức (Airdrop/Launchpool/Commission), Swap nhanh (Convert Trade Flow), và Dọn dẹp ví (Dust to BNB).
  • Thuật toán PnL Thời gian thực:
    • Tính toán Trung bình giá (Average Cost) theo thuật toán tài chính chuyên sâu.
    • Hiển thị Lợi nhuận chưa chốt (Unrealized PnL) và Lợi nhuận đã chốt (Realized PnL) riêng biệt.
  • Hệ thống Cập nhật Giá Siêu tốc (Batch Pricing): Chống quá tải API thông qua cơ chế gom các đồng coin (Batching 50-symbols) thành 1 Job ngầm (Cron Job) giúp cập nhật giá cực nhanh mà không gây tắc nghẽn server.

🚀 Hướng dẫn Cài đặt lên Server (Deployment Guide)

Yêu cầu hệ thống (Prerequisites)

  • PHP 8.2 trở lên
  • Composer
  • Node.js (v18+) & NPM
  • MySQL 8.0 / MariaDB
  • Supervisor (để chạy Background Jobs)
  • Web Server: Nginx hoặc Apache

Các bước Cài đặt (Installation Steps)

1. Clone mã nguồn và cài đặt thư viện

# Clone source code
git clone <repository_url> binance-portfolio
cd binance-portfolio

# Cài đặt PHP Dependencies
composer install --optimize-autoloader --no-dev

# Cài đặt Node.js Dependencies
npm install

2. Cấu hình môi trường (Environment)

# Sao chép file cấu hình
cp .env.example .env

# Tạo Application Key
php artisan key:generate

Mở file .env và thiết lập các thông số kết nối Database:

APP_NAME="Binance Portfolio Manager"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password

3. Khởi tạo Cơ sở dữ liệu và Frontend

# Chạy Migrations để tạo các bảng trong Database
php artisan migrate --force

# Build giao diện Vue.js cho môi trường Production
npm run build

4. Thiết lập Cron Jobs & Supervisor (RẤT QUAN TRỌNG) Hệ thống sử dụng rất nhiều Background Jobs (Tiến trình ngầm) để đồng bộ hàng nghìn giao dịch mà không làm đơ trang web. Bạn BẮT BUỘC phải thiết lập Queue worker và Scheduler.

Thiết lập Cron Job (Cron Schedule): Mở crontab trên server (crontab -e) và thêm dòng sau để Laravel tự động kích hoạt các lệnh đồng bộ định kỳ:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Thiết lập Supervisor (Queue Worker): Tạo file cấu hình cho Supervisor /etc/supervisor/conf.d/binance-worker.conf:

[program:binance-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path-to-your-project/artisan queue:work --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=4
stdout_logfile=/path-to-your-project/storage/logs/worker.log
stopwaitsecs=3600

Sau đó khởi động Worker:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start binance-worker:*

5. Hoàn tất & Phân quyền File

sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache

Giờ đây, bạn có thể truy cập vào domain của mình, đăng ký tài khoản mới và thêm API Key (Lưu ý: API Key của Binance chỉ cần quyền Enable Reading, tuyệt đối KHÔNG cấp quyền Spot Trading hay Withdraw).


Cấu trúc Job chạy định kỳ (Tham khảo)

  • Mỗi 5 phút: Gọi Binance API để cập nhật Giá (Prices) cho tất cả các đồng coin trong hệ thống bằng thuật toán Batching.
  • Mỗi 1 giờ: Quét toàn bộ các sự thay đổi trong Ví, Đồng bộ Số lượng Coin (Holdings), Lịch sử Trade, P2P, Crypto Transfers, và Asset Transactions (Dust/Swap/Airdrop).
  • Lúc 23:55 Hàng ngày: Chụp ảnh (Snapshot) tổng PnL và số dư trong ngày để vẽ Biểu đồ Lịch sử.

(Được cập nhật lần cuối: Tháng 06/2026)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages