GVI NETWORK — BÁO CÁO KỸ THUẬT & KẾ HOẠCH TRIỂN KHAI ĐẦY ĐỦ

Phiên bản: 1.0.0
Ngày: 2026-07-20
Trạng thái: 🔴 IN PROGRESS — Nhiều module thiếu dữ liệu seed & lỗi runtime
Mục tiêu: Tái tạo đầy đủ y hệt demo.mashdiv.com với branding GVI cho thị trường Việt Nam


MỤC LỤC

  1. Bước 1 — Phân Tích Trang Mẫu demo.mashdiv.com
  2. Bước 2 — Phân Tích Trang Hiện Tại goldvninvest.online
  3. Bước 3 — Triển Khai Cập Nhật Trang Chủ
  4. Bước 4 — Kiểm Tra & Tối Ưu
  5. Phân Tích Lỗi Runtime
  6. Kiểm Tra Database v5
  7. Luồng Người Dùng & Cơ Chế Chủ Sở Hữu
  8. Danh Sách Việc Cần Làm — Ưu Tiên Cao

BƯỚC 1 — PHÂN TÍCH TRANG MẪU demo.mashdiv.com {#bước-1}

1.1 Công Nghệ & Framework

Thành phần Chi tiết
Framework Next.js 15 (App Router, Turbopack)
CSS Framework Tailwind CSS v4 + shadcn/ui
Animation Framer Motion
Font Geist Sans + Geist Mono (Vercel)
Icon Lucide React + Iconify
State Management Zustand
i18n next-intl (11 ngôn ngữ: en, vi, es, fr, de, it, pt, ru, ar, ja, ko)
Charts TradingView + Chart Engine (custom)
WebSocket Tickers WS (real-time price)
Theme Dark/Light (mặc định: Dark)

1.2 Design System — CSS Variables

/* Light Mode */
:root {
  --background: 0 0% 100%;
  --foreground: 240 10% 3.9%;
  --primary: 221.2 83.2% 53.3%;       /* Blue #3557D6 */
  --secondary: 210 40% 96.1%;
  --muted: 210 40% 96.1%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --border: 214.3 31.8% 91.4%;
  --radius: 0.5rem;
}

/* Dark Mode */
.dark {
  --background: 240 10% 3.9%;         /* Near-black #090B0F */
  --foreground: 0 0% 98%;
  --primary: 0 0% 98%;
  --secondary: 240 3.7% 15.9%;
  --muted: 240 3.7% 15.9%;
  --muted-foreground: 240 5% 64.9%;
  --border: 240 3.7% 15.9%;
}

1.3 Color Palette Chính

Màu Hex Dùng cho
Blue 500 #3080ff Primary action, links
Blue 600 #155dfc Button primary
Purple 500 #ac4bff Secondary accent
Indigo 400 #7d87ff Gradient accent
Emerald 500 #00bb7f Success, profit
Red 500 #fb2c36 Error, loss
Amber 500 #f99c00 Warning
Zinc 800 #27272a Dark card bg
Zinc 950 #09090b Dark bg deep

1.4 Typography

Font Family: Geist, "Geist Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI"
Font Mono:   Geist Mono, JetBrains Mono, ui-monospace, SFMono-Regular

Heading H1:  text-5xl → text-8xl, font-bold, tracking-tight, leading-[1.1]
Heading H2:  text-4xl → text-6xl, font-bold
Body:        text-xl, text-muted-foreground, leading-relaxed
Code/Price:  font-mono, font-bold
Badge:       text-sm, font-medium, px-4 py-2, rounded-full

1.5 Component Inventory — Trang Chủ

Header (SiteHeader)
  ├── Logo (NavbarLogo)
  ├── Navigation (Desktop + Mobile)
  ├── Language Selector
  ├── Theme Toggle (Dark/Light)
  ├── Deposit Button
  ├── Wallet Popover
  ├── Notification Bell
  └── Profile Button / Auth Controls

Hero Section
  ├── Badge "Sparkles"
  ├── H1 + Gradient subtitle
  ├── Description paragraph
  ├── CTA Buttons (Register / Explore Markets)
  ├── Features checklist (3 items)
  ├── Live Markets Card (right panel — khi spotWallets=true)
  └── User Portfolio Summary (khi đã đăng nhập)

Live Ticker Bar (nếu spotWallets=true + có dữ liệu)

Extension Sections (dynamic, theo thứ tự từ landing-stats API)
  ├── SpotTradingSection     → /trade
  ├── BinaryOptionsSection   → /binary
  ├── FuturesTradingSection  → /futures
  ├── EcosystemSection       → /ecosystem
  ├── StakingSection         → /staking
  └── GenericExtensionSection → (ICO, Forex, Copy Trading, AI, etc.)

Why Choose Us Section
  ├── Feature cards (4 items)
  └── Platform Features list

Getting Started Section (3 steps)

Mobile App Section

CTA Section

Footer (SiteFooter)
  ├── Logo + Description
  ├── Social Links
  ├── Navigation columns
  └── Copyright

1.6 Navigation Menu — User

Home | Markets | Trade | Binary | Futures | Staking | Investment
Blog | Support | [Đăng nhập] [Đăng ký]

1.7 Settings Quan Trọng Từ demo.mashdiv.com

Key Value Tác động
spotWallets true Hiển thị Live Markets panel trong hero
binaryStatus true Hiển thị Binary section
investment true Hiển thị Investment section
siteTheme dark Default dark mode
landingPageType DEFAULT Dùng DefaultHomePage component
layoutSwitcher true Cho phép chuyển dark/light
fiatWallets true Hiển thị Fiat wallet
navbarLogoDisplay FULL_LOGO_ONLY Logo đầy đủ trên navbar
blogStatus true Hiện menu Blog
newsStatus true Hiện menu News
tradingProEnabled true Bật trading professional
kycStatus true Bắt buộc KYC

BƯỚC 2 — PHÂN TÍCH TRANG HIỆN TẠI goldvninvest.online {#bước-2}

2.1 Cấu Trúc File Frontend

frontend/
├── app/
│   ├── globals.css              ← CSS vars + Tailwind imports
│   ├── layout.tsx               ← Root layout
│   └── [locale]/
│       ├── page.tsx             ← Entry point — render DefaultHomePage hoặc Builder
│       ├── home.tsx             ← DefaultHomePage component (2233 dòng)
│       ├── layout.tsx           ← Locale layout
│       ├── (dashboard)/admin/   ← Admin panel
│       ├── (ext)/               ← Extension pages
│       ├── binary/              ← Binary options
│       ├── trade/               ← Spot trading
│       ├── futures/             ← Futures trading
│       ├── market/              ← Market overview
│       ├── finance/             ← Wallet / Finance
│       ├── investment/          ← Investment plans
│       ├── forex/               ← Forex trading
│       ├── ecommerce/           ← E-commerce
│       ├── dex/                 ← DEX
│       ├── login/               ← Login page
│       └── register/            ← Register page
├── components/
│   ├── partials/
│   │   ├── header/site-header.tsx   ← Premium header (1172 dòng)
│   │   └── footer/user-footer.tsx
│   └── sections/shared/InteractivePattern.tsx
├── styles/
│   ├── animations.css
│   ├── variables.css
│   └── theme.css
└── public/
    └── img/                     ← Logo, assets

2.2 Trạng Thái Hiện Tại — So Sánh Với demo.mashdiv.com

Tính năng demo.mashdiv.com goldvninvest.online Trạng thái
CSS Design System ✅ Đầy đủ ✅ Y hệt (đã copy) ✅ OK
Header component ✅ Premium glassmorphism ✅ Giống ✅ OK
Home.tsx component ✅ Full featured ✅ Giống code ✅ OK
Extension sections ✅ Spot/Binary/Futures/Eco/Staking ⚠️ Code có nhưng thiếu data 🔴 THIẾU DATA
Live Markets panel (hero) ✅ Hiển thị ❌ Ẩn (spotEnabled=false) 🔴 LỖI SETTINGS
Landing page content ✅ Tiếng Anh (mashdiv) ✅ Tiếng Việt (đã seed) ✅ OK
Settings (148 keys) ✅ Đầy đủ ✅ 148 keys trong DB ⚠️ API cache bug
API /settings trả về ✅ 100+ settings ❌ Chỉ 7 settings 🔴 CACHE BUG
Spot markets ✅ 16 cặp active ✅ 16 cặp (có sẵn) ✅ OK
Futures markets ✅ Active ✅ 7 thị trường ✅ OK
Binary markets ✅ Active ❌ 0 markets 🔴 THIẾU
Binary durations ✅ 8 durations ❌ 0 durations 🔴 THIẾU
Staking pools ✅ 13 pools ❌ 0 pools 🔴 THIẾU
Investment plans ✅ Multiple ❌ 0 plans 🔴 THIẾU
Wallets ✅ Tạo khi đăng nhập ❌ 0 wallets ⚠️ NORMAL
Role permissions ✅ Đầy đủ ❌ 0 role_permissions 🔴 CRITICAL
Announcements ✅ Active ❌ 0 🔴 THIẾU
Ecosystem markets ✅ Active ❌ 0 🔴 THIẾU
API auth/role endpoint ✅ 200 OK ❌ 500 findAll error 🔴 CRITICAL
API user/profile ✅ 200 OK ❌ 500 findOne error 🔴 CRITICAL

2.3 Nguyên Nhân Gốc Rễ Lỗi findOne/findAll

LỖI: Cannot read properties of undefined (reading 'findOne')
       Cannot read properties of undefined (reading 'findAll')

NGUYÊN NHÂN:
  1. role_permission bảng TRỐNG (0 rows)
     → /api/auth/role không tìm được permissions → model.findAll() = undefined
  
  2. binary_duration bảng TRỐNG (0 rows)  
     → Binary cron jobs fail mỗi phút
  
  3. exchange provider (binance/kucoin/xt) status = 0 (disabled)
     → EXCHANGE service fail khi lookup active provider
  
  4. Sequelize models KHÔNG liên kết đúng vì thiếu dữ liệu seed
     → Các service access model.findOne trước khi model initialized

GIẢI PHÁP:
  → Seed role_permission (ưu tiên #1 — CRITICAL)
  → Seed binary_duration + binary_market
  → Enable ít nhất 1 exchange provider
  → Kiểm tra settings API cache

BƯỚC 3 — TRIỂN KHAI CẬP NHẬT TRANG CHỦ {#bước-3}

3.1 Những Gì Đã Hoàn Thành ✅

Hành động Kết quả
Seed 148 settings vào DB ✅ Thành công
Tạo landing page content tiếng Việt (GVI) ✅ ID: b45b8a9b-5583-4ee4-b685-b66fa545320a
CSS design system y hệt demo.mashdiv.com ✅ Đã có sẵn
Codebase frontend component ✅ Y hệt demo (cùng repo)
Backend restart ✅ Online (port 4000)

3.2 Vấn Đề Settings API Cache — Cần Fix Ngay

Triệu chứng:

DB settings: 148 records ✅
API /api/settings: 7 records ❌

Giải thích: Backend có settings cache trong memory. Khi restart, cache được reload từ DB nhưng có thể đang đọc sai table hoặc có Redis cache layer.

Cần kiểm tra:

# 1. Xem log startup backend
pm2 logs backend --lines 200

# 2. Tìm cache invalidation
grep -r "settingsCache\|clearCache\|Redis" backend/dist/src/ | head -20

# 3. Force reload settings
curl -X POST https://goldvninvest.online/api/admin/settings/reload

3.3 Script Seed Khẩn Cấp — Dữ Liệu Còn Thiếu

3.3.1 Role Permissions (CRITICAL)

-- Cần chạy: seed role_permission cho Super Admin và Admin
-- Lấy tất cả permissions và assign cho Super Admin (id=52)
INSERT INTO role_permission (roleId, permissionId)
SELECT 52, id FROM permission;

-- Admin (id=53) — nhận permissions không phải super-only
INSERT INTO role_permission (roleId, permissionId)
SELECT 53, id FROM permission 
WHERE name NOT LIKE '%superadmin%' AND name NOT LIKE '%delete%';

3.3.2 Binary Markets & Durations

-- Binary durations (1, 3, 5, 15, 30, 60 phút)
INSERT INTO binary_duration (id, duration, profitPercentage, status, createdAt, updatedAt) VALUES
(UUID(), 1,  75, 1, NOW(), NOW()),
(UUID(), 3,  78, 1, NOW(), NOW()),
(UUID(), 5,  80, 1, NOW(), NOW()),
(UUID(), 15, 82, 1, NOW(), NOW()),
(UUID(), 30, 83, 1, NOW(), NOW()),
(UUID(), 60, 85, 1, NOW(), NOW());

3.3.3 Ecosystem Markets

-- Tạo ecosystem markets từ existing tokens
INSERT INTO ecosystem_market (id, currency, pair, status)
SELECT UUID(), symbol, 'USDT', 1 
FROM ecosystem_token 
WHERE status=1 LIMIT 10;

3.3.4 Staking Pools (GIV, USDT, BTC)

INSERT INTO staking_pool (id, name, description, currency, chain, type, minStake, maxStake, status, createdAt, updatedAt) VALUES
(UUID(), 'GIV 30 Ngày', 'Staking GIV nhận 12% APR', 'GIV', NULL, 'ECO', 10, 100000, 'ACTIVE', NOW(), NOW()),
(UUID(), 'USDT 90 Ngày', 'Staking USDT nhận 8% APR', 'USDT', NULL, 'SPOT', 50, 500000, 'ACTIVE', NOW(), NOW()),
(UUID(), 'BTC 180 Ngày', 'Staking BTC nhận 5% APR', 'BTC', NULL, 'SPOT', 0.001, 10, 'ACTIVE', NOW(), NOW());

3.4 File Cần Cập Nhật Trong Frontend

File Thay đổi cần thiết Ưu tiên
frontend/app/[locale]/home.tsx Đã có đủ, chờ settings API fix ⚠️ Phụ thuộc API
frontend/styles/variables.css ✅ Không cần thay đổi
frontend/app/globals.css ✅ Không cần thay đổi
frontend/components/partials/header/site-header.tsx ✅ Không cần thay đổi
frontend/public/img/ Cần thêm logo GVI, favicon 🔴 TODO
frontend/public/img/social/ Cần thêm social icons 🔴 TODO

3.5 Các Module Sản Phẩm Chính — Trạng Thái

TRANG CHỦ (/)
  ├── Hero Section          → ⚠️ Chờ settings API cache fix
  ├── Live Markets Panel    → ❌ spotEnabled=false (settings API bug)
  ├── Extension Sections    → ⚠️ Futures OK, Binary/Staking cần seed
  ├── Why Choose Us         → ✅ Hoạt động
  ├── Getting Started       → ✅ Hoạt động
  └── CTA Section           → ✅ Hoạt động

TRANG GIAO DỊCH SPOT (/trade)
  ├── TradingView Chart     → ✅ Có 16 cặp exchange_market
  ├── Order Book            → ⚠️ Cần exchange provider active
  └── Spot Wallets          → ❌ Cần settings API fix + wallet seed

TRANG BINARY (/binary)
  ├── Chart                 → ✅ Chart Engine extension active
  ├── Duration Selection    → ❌ binary_duration trống
  └── Order Placement       → ❌ binary_market trống

TRANG FUTURES (/futures)
  ├── Markets               → ✅ 7 futures_market active
  └── Trading Engine        → ✅ Extension active

TRANG MARKET (/market)
  ├── Spot Markets          → ✅ 16 cặp
  └── Futures Markets       → ✅ 7 thị trường

TRANG STAKING (/staking)
  └── Pools                 → ❌ staking_pool trống

TRANG INVESTMENT (/investment)
  └── Plans                 → ❌ investment_plan trống

TRANG ECOSYSTEM (/ecosystem)
  └── Markets               → ❌ ecosystem_market trống (token có nhưng market chưa tạo)

ADMIN PANEL (/admin)
  └── Dashboard             → ❌ Lỗi findAll (role_permission trống)

AUTH (/login, /register)
  └── Đăng nhập/Đăng ký     → ⚠️ Đăng ký được, nhưng role permission lỗi

BƯỚC 4 — KIỂM TRA & TỐI ƯU {#bước-4}

4.1 Checklist Responsive Design

Breakpoint Mô tả Trạng thái
Mobile (< 640px) Stack layout, menu drawer ✅ Code đã có
Tablet (640-1024px) Hybrid layout ✅ Code đã có
Desktop (1024-1280px) Full layout ✅ Code đã có
Large Desktop (> 1280px) Extended nav ✅ Code đã có

4.2 Performance Targets

Metric Target Ghi chú
LCP < 2.5s Hero section load
FID / INP < 100ms Interaction response
CLS < 0.1 Layout stability
Settings API < 200ms Cache được
WebSocket connect < 1s Ticker data

4.3 SEO & Meta Tags

Cần cập nhật next.config.js hoặc layout.tsx:

// frontend/app/[locale]/layout.tsx
export const metadata = {
  title: "GVI — Sàn Giao Dịch Tài Sản Số Cho Người Việt",
  description: "Gold VN Invest — An toàn, thuận tiện, hiệu quả. Mua bán BTC, ETH, GIV.",
  keywords: "sàn giao dịch, crypto, GIV, Gold VN Invest, bitcoin",
  openGraph: {
    siteName: "GVI Network",
    locale: "vi_VN",
  }
}

PHÂN TÍCH LỖI RUNTIME {#lỗi-runtime}

Tổng Hợp Lỗi Từ PM2 Logs

CRITICAL (🔴):
  GET /api/auth/role → 500 Cannot read properties of undefined (reading 'findAll')
  GET /api/user/profile → 500 Cannot read properties of undefined (reading 'findOne')
  → Root cause: role_permission bảng TRỐNG (0 rows)
  → Fix: Seed role_permission ngay

HIGH (🟠):
  [CRON] processPendingOrders failed: Cannot read properties of undefined (reading 'findAll')
  [SPOT_RECON] Spot order reconciliation failed: ...
  [BTC_SCAN] Error in scan cycle: ...
  → Root cause: Thiếu binary_duration, wallet, exchange_order models có data
  → Fix: Seed binary data, enable exchange provider

MEDIUM (🟡):
  [EXCHANGE] Failed to fetch active provider: ...
  → Root cause: exchange table có 3 rows nhưng tất cả status = 0 (disabled)
  → Fix: UPDATE exchange SET status = 1 WHERE name = 'binance'

LOW (🟢):
  Settings API cache: DB có 148, API trả 7
  → Root cause: Backend đang read từ old cache / chưa reload
  → Fix: pm2 restart backend --update-env hoặc clear cache

Sơ Đồ Luồng Lỗi

Request: GET /api/auth/role
         ↓
   authController.getRole()
         ↓
   models.role_permission.findAll()   ← Lỗi xảy ra đây
         ↓
   role_permission có 0 rows hoặc model chưa initialized
         ↓
   undefined.findAll() → TypeError

KIỂM TRA DATABASE v5 {#database-v5}

Tổng Quan DB v5 (2026-07-20)

Bảng Số Dòng Trạng Thái Ghi Chú
settings 148 ✅ Đầy đủ Đã seed 2026-07-20
extension 21 ✅ Tất cả active Đầy đủ modules
permission 625 ✅ Đầy đủ Đã seed
role 4 ✅ OK Super Admin, Admin, Support, User
role_permission 0 🔴 TRỐNG CRITICAL — cần seed ngay
exchange_market 16 ✅ OK BTC/USDT, ETH/USDT, GIV/VNL...
futures_market 7 ✅ OK Futures contracts
exchange_currency 16 ✅ OK Currencies
ecosystem_token 5293 ✅ Có Token list đầy đủ
ecosystem_blockchain 4 ✅ OK BSC, ETH, TRON, BTC
default_pages 1 ✅ OK Home page tiếng Việt
notification_template 118 ✅ OK Email templates
mlm_referral_condition 35 ✅ OK MLM rules
deposit_gateway 15 ✅ OK Payment gateways
kyc_verification_service 3 ✅ OK KYC services
currency 163 ✅ OK Fiat currencies
exchange 3 ⚠️ Disabled binance/kucoin/xt — status=0
user 2 ✅ OK superadmin + 1 user
ecosystem_market 0 🔴 TRỐNG Cần tạo từ ecosystem_token
binary_market 0 🔴 TRỐNG Cần seed
binary_duration 0 🔴 TRỐNG Cần seed (6-8 durations)
staking_pool 0 🔴 TRỐNG Cần seed (GIV, USDT, BTC)
staking_pools 0 🔴 TRỐNG Alias table
investment_plan 0 🔴 TRỐNG Cần seed
announcement 0 🟡 THIẾU Nên seed (5 announcements)
slider 0 🟡 THIẾU Nên seed
page 0 🟡 THIẾU About, Terms, Privacy
wallet 0 ⚠️ Normal Tạo khi user đăng nhập
forex_plan 0 ⚠️ Tùy chọn Forex extension
p2p_offers 0 ⚠️ Tùy chọn P2P extension
ico_token_offering 0 ⚠️ Tùy chọn ICO extension

Extensions Active (21/21)

✅ Chart Engine          ✅ Knowledge Base       ✅ Payment Gateway
✅ Binary AI Engine      ✅ Hummingbot Connector  ✅ Staking Crypto
✅ Forex & Investment    ✅ MailWizard            ✅ EcoSystem
✅ P2P Exchange          ✅ Multi Level Marketing ✅ Forex Multi-Asset
✅ Futures               ✅ NFT Marketplace       ✅ AI Investments
✅ AI Market Maker       ✅ Token ICO             ✅ Copy Trading
✅ Trading Bot           ✅ Ecommerce             ✅ Wallet Connect

LUỒNG NGƯỜI DÙNG & CƠ CHẾ CHỦ SỞ HỮU {#luồng-người-dùng}

7.1 Luồng Người Dùng Thông Thường (User Journey)

[Trang Chủ]
     │
     ├─→ [Đăng Ký] /register
     │       ├── Nhập email + mật khẩu
     │       ├── Xác thực email (verifyEmailStatus=true)
     │       ├── eKYC (kycStatus=true)
     │       │       ├── Upload CCCD/CMND
     │       │       └── Kết nối C06 Bộ Công An
     │       └── Tạo ví tự động (SPOT, FIAT, FUTURES)
     │
     ├─→ [Đăng Nhập] /login
     │       ├── Email + mật khẩu
     │       ├── 2FA (TOTP / SMS / Email)
     │       └── Redirect → /user/dashboard
     │
     └─→ [Người Dùng Đã Đăng Nhập]
             │
             ├─→ [Nạp Tiền] /finance/deposit
             │       ├── Nạp VND qua ngân hàng (Gateway)
             │       ├── Nạp Crypto (on-chain)
             │       └── Nạp Spot (exchange)
             │
             ├─→ [Giao Dịch Spot] /trade
             │       ├── Chọn cặp (BTC/USDT, GIV/VNL...)
             │       ├── TradingView chart
             │       ├── Đặt lệnh Market/Limit/Stop
             │       └── Theo dõi portfolio
             │
             ├─→ [Binary Options] /binary
             │       ├── Chọn tài sản + thời gian
             │       ├── Dự đoán UP/DOWN
             │       └── Kết quả + lợi nhuận
             │
             ├─→ [Futures] /futures
             │       ├── Leverage 1x-150x
             │       ├── Long/Short positions
             │       └── TP/SL management
             │
             ├─→ [Staking] /staking
             │       ├── Chọn pool (GIV/USDT/BTC)
             │       ├── Nhập số lượng
             │       └── Theo dõi lợi nhuận
             │
             ├─→ [Investment] /investment
             │       ├── Chọn gói đầu tư
             │       ├── Nhập vốn
             │       └── Theo dõi kết quả
             │
             ├─→ [Rút Tiền] /finance/withdraw
             │       ├── Rút VND về ngân hàng
             │       └── Rút Crypto on-chain
             │
             └─→ [Profile] /user/profile
                     ├── KYC status
                     ├── Security settings
                     ├── API keys
                     └── Referral (MLM)

7.2 Cơ Chế Chủ Sở Hữu — Vai Trò Nhà Phát Triển/Operator

[Super Admin] superadmin@example.com (roleId=52)
     │
     ├─→ /admin/dashboard
     │       ├── Thống kê người dùng
     │       ├── Doanh thu platform
     │       └── Hoạt động giao dịch
     │
     ├─→ /admin/settings
     │       ├── Cấu hình 148+ settings
     │       ├── Bật/tắt features
     │       ├── KYC requirements
     │       └── Fee structure
     │
     ├─→ /admin/extensions
     │       ├── Enable/Disable từng extension
     │       ├── Cấu hình chi tiết
     │       └── License management
     │
     ├─→ /admin/exchange
     │       ├── Quản lý cặp trading
     │       ├── Cấu hình price feeds
     │       └── Binary markets + durations
     │
     ├─→ /admin/finance
     │       ├── Xét duyệt rút tiền
     │       ├── Deposit management
     │       └── Fee collection
     │
     ├─→ /admin/users
     │       ├── Quản lý tài khoản
     │       ├── KYC review
     │       └── Ban/Suspend
     │
     ├─→ /admin/investment
     │       ├── Tạo investment plans
     │       ├── Đặt profit %
     │       └── Quản lý kết quả (WIN/LOSS/DRAW)
     │
     └─→ /admin/staking
             ├── Tạo staking pools
             ├── Đặt APR
             └── Quản lý positions

7.3 Mô Hình Doanh Thu Platform

1. Phí Giao Dịch Spot:          0.1% maker / 0.1% taker
2. Spread Wallet Transfer:       0.5% (walletTransferSpread)
3. Phí Spot Withdrawal:          Có (spotWithdrawFee=true)
4. Binary Options Edge:          Platform giữ 15-25% (profitPercentage)
5. Staking Management Fee:       % trên APR yield
6. Investment Plans:             defaultResult WIN/LOSS/DRAW
7. Gateway Payment Fee:          gatewayFeeFixed + gatewayFeePercentage
8. Copy Trading Platform Fee:    2% (copyTradingPlatformFeePercent)
9. NFT Marketplace Fee:          2.5% (nftMarketplaceFeePercentage)
10. ICO Token Offering:          % raised capital

DANH SÁCH VIỆC CẦN LÀM — ƯU TIÊN {#todo}

🔴 CRITICAL — Phải làm ngay (Site bị lỗi)

[ ] 1. Seed role_permission cho Super Admin (52) và Admin (53)
       → Fix lỗi GET /api/auth/role → 500
       → Fix lỗi GET /api/user/profile → 500
       → SQL: INSERT INTO role_permission SELECT 52, id FROM permission

[ ] 2. Fix Settings API cache bug
       → DB có 148 settings nhưng API chỉ trả 7
       → Kiểm tra Redis cache / memory cache trong backend
       → Thực hiện: pm2 restart backend --update-env
       → Nếu có Redis: redis-cli FLUSHDB

[ ] 3. Enable exchange provider
       → UPDATE exchange SET status = 1 WHERE name = 'binance'
       → Fix lỗi [EXCHANGE] Failed to fetch active provider

[ ] 4. Seed binary_duration (6-8 durations)
       → Fix lỗi binary CRON processPendingOrders
       → Cần có durations: 1, 3, 5, 15, 30, 60 phút

🟠 HIGH — Cần làm trong 24h

[ ] 5. Seed binary_market từ exchange_market
       → Tạo binary markets cho BTC/USDT, ETH/USDT, SOL/USDT, GIV/VNL

[ ] 6. Seed staking_pool (3 pools cơ bản)
       → GIV pool (12% APR), USDT pool (8% APR), BTC pool (5% APR)

[ ] 7. Tạo ecosystem_market từ ecosystem_token
       → Link tokens có sẵn với cặp trading

[ ] 8. Seed investment_plan (3-5 gói)
       → Gói Starter (30 ngày, 5-8% APR)
       → Gói Growth (90 ngày, 8-15% APR)
       → Gói Premium (180 ngày, 15-25% APR)

[ ] 9. Kiểm tra và fix settings API endpoint
       → Xem tại sao /api/settings chỉ trả 7 records thay vì 148
       → Có thể đang join với bảng khác hoặc filter bởi group

🟡 MEDIUM — Cần làm trong 1 tuần

[ ] 10. Seed announcements (5 announcements GVI)
        → Chào mừng, KYC, eKYC, Nạp/Rút VND, Bảo hiểm

[ ] 11. Seed slider (5 slides)
        → Hero banners với branding GVI

[ ] 12. Seed pages (About, Terms, Privacy)
        → Nội dung pháp lý tiếng Việt

[ ] 13. Upload logo và favicon GVI
        → frontend/public/img/logo.png
        → frontend/public/favicon.ico

[ ] 14. Tạo social icon files
        → frontend/public/img/social/facebook.svg
        → frontend/public/img/social/telegram.svg
        → frontend/public/img/social/youtube.svg
        → frontend/public/img/social/twitter.svg

[ ] 15. Cập nhật NEXT_PUBLIC metadata trong .env
        → NEXT_PUBLIC_SITE_NAME="GVI Network"
        → NEXT_PUBLIC_SITE_URL="https://goldvninvest.online"

🟢 LOW — Tối ưu dài hạn

[ ] 16. Cấu hình forex plans và durations
[ ] 17. Cấu hình ICO offerings
[ ] 18. Setup P2P payment methods
[ ] 19. Tạo NFT categories
[ ] 20. Cấu hình MailWizard templates
[ ] 21. Setup Knowledge Base (FAQ)
[ ] 22. Cấu hình Trading Bot strategies
[ ] 23. Setup Copy Trading leader requirements
[ ] 24. Cấu hình Ecommerce categories
[ ] 25. Enable Hummingbot connector

KỊCH BẢN THÍ ĐIỂM VẬN HÀNH — THỊ TRƯỜNG VIỆT NAM

Giai Đoạn 1: MVP (Tháng 1-2)

Mục tiêu: Site hoạt động đầy đủ, ổn định
─────────────────────────────────────────
✅ Settings đầy đủ (148 keys)
✅ Landing page tiếng Việt
🔴 Fix lỗi role_permission (CRITICAL)
🔴 Fix settings API cache
🟠 Binary trading hoạt động
🟠 Staking pools
🟠 Investment plans
🟡 Logo + Branding GVI
🟡 Announcement + Slider

Giai Đoạn 2: Beta (Tháng 3-4)

Mục tiêu: Mở cửa cho beta users, KYC
─────────────────────────────────────────
→ eKYC integration (C06 Bộ Công An)
→ Nạp VND qua ngân hàng (Gateway)
→ Spot trading đầy đủ (16 cặp)
→ Binary trading với GIV/VNL, BTC/USDT
→ Staking GIV token
→ Mobile responsive hoàn chỉnh
→ Support ticket system

Giai Đoạn 3: Launch (Tháng 5-6)

Mục tiêu: Ra mắt chính thức, marketing
─────────────────────────────────────────
→ Cấp phép vận hành (đang thẩm định)
→ Marketing Việt Nam (Telegram, Facebook)
→ Community building
→ Copy Trading (follow traders thành công)
→ Forex & Multi-Asset (đa dạng hóa toàn cầu)
→ NFT Marketplace
→ API public cho algorithmic trading

Giai Đoạn 4: Scale (Tháng 7+)

Mục tiêu: Mở rộng quy mô, đa dạng hóa
─────────────────────────────────────────
→ Tích hợp Hummingbot (market making)
→ P2P Exchange (trao đổi trực tiếp VND)
→ ICO platform (hỗ trợ dự án mới)
→ Mobile app (iOS + Android)
→ Multi-language marketing (EN, KO, JP)
→ API ecosystem cho developers
→ Listing GIV trên sàn ngoài

TÓM TẮT TRẠNG THÁI HIỆN TẠI

Hạng mục Tiến độ
Frontend code (CSS, Components) ✅ 100% — Y hệt demo.mashdiv.com
Backend API framework ✅ 95% — Cùng codebase
Database schema ✅ 100% — Đầy đủ bảng
Settings (148 keys) ✅ 100% — Đã seed
Landing page content VN ✅ 100% — Đã seed
Extensions (21/21) ✅ 100% — Tất cả active
Role permissions ❌ 0% — CRITICAL FIX NEEDED
Binary markets/durations ❌ 0% — Cần seed
Staking pools ❌ 0% — Cần seed
Investment plans ❌ 0% — Cần seed
Ecosystem markets ❌ 0% — Cần tạo
Announcements/Slider ❌ 0% — Cần seed
Logo/Branding assets ⚠️ 50% — Cần upload
Settings API cache ❌ Bug — Trả 7/148 settings
Tổng thể ~55%

Ưu tiên số 1: Fix role_permission seed + Settings API cache
Ưu tiên số 2: Seed binary_duration + staking_pool + investment_plan
Ưu tiên số 3: Enable exchange provider + ecosystem markets


Báo cáo được tạo tự động từ phân tích live hệ thống — 2026-07-20
GVI Network — Gold VN Invest — Sàn giao dịch tài sản số cho người Việt