- Giới thiệu
- Tính năng
- Cấu trúc dự án
- Cài đặt Local
- Deploy lên Vercel
- Deploy lên Cloudflare Pages
- Tích hợp Hệ thống
- Tùy chỉnh Website
- Tech Stack
- Liên hệ & Hỗ trợ
NetProxy Console V2 là bảng điều khiển (dashboard) dành cho người dùng cuối, được xây dựng với công nghệ hiện đại nhất. Hệ thống cho phép người dùng quản lý proxy, nạp tiền, mua gói dịch vụ và theo dõi lịch sử sử dụng.
Website hỗ trợ đa ngôn ngữ (14 ngôn ngữ) với giao diện đẹp mắt, hiệu ứng mượt mà và tương thích hoàn hảo với Vercel và Cloudflare Pages.
Dự án này được thiết kế để kết hợp với:
- Seller Portal - Hệ thống quản lý đại lý
- Landing Page - Trang giới thiệu sản phẩm
- API Backend - API xử lý nghiệp vụ
| Tính năng | Mô tả |
|---|---|
| 🔐 Xác thực người dùng | Đăng nhập, Đăng ký, Quên mật khẩu với reCAPTCHA v3 |
| 📊 Dashboard | Tổng quan sử dụng proxy, thống kê với biểu đồ Recharts |
| 🛒 Mua Proxy | Duyệt và mua các gói proxy theo quốc gia, thời hạn |
| 💰 Ví điện tử | Nạp tiền, quản lý số dư, thanh toán QR Code |
| 📜 Lịch sử đơn hàng | Theo dõi tất cả đơn hàng và subscription |
| 👥 Reseller Portal | Tính năng đặc biệt cho đại lý |
| 📚 API Documentation | Tài liệu API tích hợp sẵn |
| 📱 Responsive Design | Tương thích Desktop, Tablet, Mobile |
| 🌍 Đa ngôn ngữ (i18n) | Hỗ trợ 14 ngôn ngữ: VI, EN, ZH, RU, AR, HI, BN, ID, TH, TR, FA, PT, PH |
| 🎬 Hiệu ứng mượt mà | Framer Motion animations |
netproxy-console-v2/
│
├── 📂 src/
│ ├── 📂 components/ # 🧩 UI Components tái sử dụng
│ │ ├── app/ # App-level components (Loading, Logo)
│ │ ├── auth/ # Authentication components
│ │ ├── button/ # Button variants
│ │ ├── card/ # Card components (Balance, Pricing, Proxy)
│ │ ├── input/ # Input components (OTP, Search, API)
│ │ ├── modal/ # Modal dialogs
│ │ ├── table/ # Data tables
│ │ └── ... # Checkbox, Select, Tabs, etc.
│ │
│ ├── 📂 pages/ # 📄 Các trang chính
│ │ ├── dashboard/ # Trang chủ Dashboard
│ │ ├── purchase/ # Mua proxy
│ │ ├── wallet/ # Quản lý ví
│ │ ├── history/ # Lịch sử đơn hàng
│ │ ├── order/ # Chi tiết đơn hàng
│ │ ├── account-profile/ # Thông tin tài khoản
│ │ ├── reseller/ # Trang đại lý
│ │ ├── api-docs/ # Tài liệu API
│ │ ├── login/ # Đăng nhập
│ │ ├── register/ # Đăng ký
│ │ └── ...
│ │
│ ├── 📂 services/ # 🔌 API Services
│ │ ├── api/ # Base API configuration
│ │ ├── auth/ # Authentication service
│ │ ├── user/ # User service
│ │ ├── payment/ # Payment service
│ │ ├── order/ # Order service
│ │ ├── subscription/ # Subscription service
│ │ ├── wallet/ # Wallet service
│ │ └── ...
│ │
│ ├── 📂 stores/ # 🗃️ Zustand State Management
│ ├── 📂 hooks/ # 🪝 Custom React Hooks
│ ├── 📂 layouts/ # 📐 Layout Components
│ ├── 📂 router/ # 🛣️ React Router Configuration
│ ├── 📂 contexts/ # 🔄 React Contexts
│ ├── 📂 utils/ # 🛠️ Utility Functions
│ ├── 📂 config/ # ⚙️ App Configuration
│ ├── 📂 types/ # 📝 TypeScript Definitions
│ └── 📂 assets/ # 🎨 Static Assets & Locales
│
├── 📂 public/
│ └── 📂 locales/ # 🌍 File ngôn ngữ (14 ngôn ngữ)
│ ├── vi/ # Tiếng Việt
│ ├── en/ # English
│ ├── zh/ # 中文
│ └── ...
│
├── .env.example # Template biến môi trường
├── package.json # Dependencies
├── vite.config.ts # Vite configuration
├── tailwind.config.js # TailwindCSS configuration
└── README.md # Tài liệu này
Lưu ý: Để có thể đăng ký tài khoản và sử dụng hệ thống, bạn cần thực hiện MỘT TRONG HAI cách sau:
- Chạy project trên
localhost:5192 - Hệ thống sẽ tự động nhận diện và cho phép đăng ký
- Truy cập Seller Portal và đăng ký tài khoản đại lý
- Sau khi đăng nhập, vào phần Cài đặt → Domain
- Thêm domain của bạn (ví dụ:
console.yourdomain.com) - Sau khi domain được xác nhận, người dùng mới có thể đăng ký tài khoản trên domain đó
- ✅ Node.js 18.17 trở lên
- ✅ Yarn (khuyến nghị) hoặc npm
- ✅ Git
git clone https://github.com/lebachhiep/netproxy-console-v2.git
cd netproxy-console-v2# Sử dụng yarn (khuyến nghị)
yarn install
# Hoặc npm
npm install# Copy file môi trường mẫu
cp .env.example .envFile .env đã được cấu hình sẵn với các giá trị mặc định:
# API endpoint cho hệ thống proxy
VITE_API_BASE_URL=https://api.prx.network
# reCAPTCHA v3 Site Key (đã cấu hình sẵn)
VITE_RECAPTCHA_SITE_KEY=6LcFazMsAAAAABLqyeCBDfdlW__pIG2pnt_gRZ4Nyarn devTruy cập 👉 http://localhost:5192
Tip: Khi chạy trên localhost, bạn có thể đăng ký tài khoản mới ngay lập tức mà không cần cấu hình domain trên Seller Portal.
| Lệnh | Mô tả |
|---|---|
yarn dev |
Chạy development server (port 5192) |
yarn build |
Build production |
yarn preview |
Preview bản build production |
yarn lint |
Kiểm tra lỗi với ESLint |
yarn format |
Format code với Prettier |
Quan trọng: Trước khi deploy, bạn BẮT BUỘC phải đăng ký domain trên Seller Portal để người dùng có thể tạo tài khoản.
- Truy cập 👉 https://seller.prx.network/
- Đăng ký tài khoản đại lý (nếu chưa có)
- Đăng nhập và vào Cài đặt → Domain
- Thêm domain bạn sẽ deploy (ví dụ:
netproxy-console-v2.vercel.apphoặc custom domain) - Chờ domain được xác nhận
Đây là cách đơn giản nhất, Vercel sẽ tự động build và deploy mỗi khi bạn push code.
- Truy cập 👉 https://vercel.com/
- Đăng nhập hoặc tạo tài khoản mới (miễn phí)
- Click Add New... → Project
- Chọn Import Git Repository
- Kết nối GitHub và chọn repository
netproxy-console-v2
Điền các thông tin sau:
| Mục | Giá trị |
|---|---|
| Framework Preset | Vite |
| Build Command | yarn build |
| Output Directory | dist |
| Install Command | yarn install |
Click Environment Variables và thêm:
| Variable Name | Value |
|---|---|
VITE_API_BASE_URL |
https://api.prx.network |
VITE_RECAPTCHA_SITE_KEY |
6LcFazMsAAAAABLqyeCBDfdlW__pIG2pnt_gRZ4N |
Click Deploy và đợi quá trình hoàn tất.
✅ Website sẽ có URL dạng: https://netproxy-console-v2.vercel.app
Nhớ: Sau khi deploy xong, quay lại Seller Portal và thêm URL này vào danh sách domain được phép!
Quan trọng: Tương tự như Vercel, bạn cần đăng ký domain trên Seller Portal trước.
- Truy cập 👉 https://seller.prx.network/
- Đăng ký/Đăng nhập tài khoản đại lý
- Vào Cài đặt → Domain → Thêm domain (ví dụ:
netproxy-console-v2.pages.dev)
- Truy cập 👉 https://dash.cloudflare.com/
- Đăng nhập hoặc tạo tài khoản mới (miễn phí)
- Từ sidebar, chọn Workers & Pages
- Click nút Create
- Chọn tab Pages
- Click Connect to Git
- Click Connect GitHub
- Authorize Cloudflare truy cập GitHub của bạn
- Chọn repository:
lebachhiep/netproxy-console-v2 - Click Begin setup
Điền các thông tin sau:
| Mục | Giá trị |
|---|---|
| Project name | netproxy-console-v2 |
| Production branch | main |
| Framework preset | Vite |
| Build command | yarn build |
| Build output directory | dist |
Click Add variable và thêm:
| Variable Name | Value |
|---|---|
VITE_API_BASE_URL |
https://api.prx.network |
VITE_RECAPTCHA_SITE_KEY |
6LcFazMsAAAAABLqyeCBDfdlW__pIG2pnt_gRZ4N |
NODE_VERSION |
18 |
Click Save and Deploy và đợi quá trình hoàn tất.
✅ Website sẽ có URL dạng: https://netproxy-console-v2.pages.dev
Nhớ: Sau khi deploy xong, quay lại Seller Portal và thêm URL này vào danh sách domain được phép!
Nếu bạn muốn deploy thủ công từ local:
# Cài đặt Wrangler CLI
npm install -g wrangler
# Đăng nhập Cloudflare
wrangler login
# Build project
yarn build
# Deploy lên Cloudflare Pages
wrangler pages deploy dist --project-name=netproxy-console-v2┌─────────────────────────────────────────────────────────────────┐
│ NetProxy Ecosystem │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Landing Page │ │ Console V2 │ ◄── Bạn đang ở đây│
│ │ (Index V2) │ │ (Dashboard) │ │
│ │ │ │ │ │
│ │ - Giới thiệu │ │ - Mua proxy │ │
│ │ - Pricing │ │ - Quản lý ví │ │
│ │ - FAQ │ │ - Lịch sử │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └───────────┬───────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ API Backend │ │
│ │ api.prx.network │ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Seller Portal │ │
│ │ seller.prx.network │ │
│ │ │ │
│ │ - Quản lý đại lý │ │
│ │ - Tạo gói proxy │ │
│ │ - Thống kê doanh thu│ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Chỉnh sửa file JSON trong thư mục public/locales/[lang]/:
public/locales/
├── vi/translation.json # Tiếng Việt
├── en/translation.json # English
├── zh/translation.json # 中文
└── ...
Chỉnh sửa file tailwind.config.js:
module.exports = {
theme: {
extend: {
colors: {
primary: '#your-primary-color',
secondary: '#your-secondary-color',
},
},
},
}Thay thế file src/logo.svg bằng logo của bạn.
Chỉnh sửa file .env:
VITE_API_BASE_URL=https://your-api-domain.com
VITE_RECAPTCHA_SITE_KEY=your-recaptcha-key| Danh mục | Công nghệ |
|---|---|
| Framework | React 19.2 |
| Build Tool | Vite 6.2 |
| Ngôn ngữ | TypeScript 5.8 |
| Styling | TailwindCSS 4.0, SASS |
| State Management | Zustand 5.0 |
| Server State | React Query 5.x |
| Routing | React Router DOM 6.2 |
| Forms | React Hook Form + Zod |
| HTTP Client | Axios |
| i18n | i18next |
| Charts | Recharts |
| Animation | Framer Motion |
| Icons | React Icons, Custom SVG |
| Code Quality | ESLint, Prettier, Husky, Commitlint |
Nếu bạn cần hỗ trợ hoặc có câu hỏi:
| Kênh | Liên kết |
|---|---|
| ketoan@upgo.io | |
| 💬 Telegram | @NetProxy_Support |
| 🌐 Seller Portal | seller.prx.network |
| 📚 API Docs | api.prx.network/docs |
Made with ❤️ by NetProxy Team
© 2024 NetProxy. All rights reserved.