Skip to content

Kiến trúc hệ thống

┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Landing Page │ │ Console │ │ Seller Portal │
│ (Next.js 16) │ │ (React + Vite) │ │ (React + Vite) │
│ Trang giới │ │ Dashboard │ │ Dashboard │
│ thiệu sản │ │ người dùng │ │ đại lý │
│ phẩm │ │ cuối │ │ │
└────────┬────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
│ ┌────────▼─────────┐ │
└──────────────► API Backend ◄───────────────┘
│ (api.prx.network)│
│ Go + Encore │
└────────┬──────────┘
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│PostgreSQL│ │ Redis │ │ NATS │
│ Database │ │ Cache │ │ JetStream│
└──────────┘ └──────────┘ └──────────┘
  • Stack: Next.js 16, React 19, TypeScript, Tailwind CSS 4
  • Mục đích: Trang giới thiệu sản phẩm, thu hút khách hàng
  • Tính năng: 14 ngôn ngữ, dark mode, animation (Framer Motion, GSAP), SEO
  • Deploy: Cloudflare Pages (khuyến nghị) hoặc Vercel
  • Repo: github.com/lebachhiep/netproxy-index-v2
  • Stack: React 19, Vite 6, TypeScript 5.8, Tailwind CSS 4, SCSS
  • Mục đích: Bảng điều khiển cho người dùng cuối
  • Tính năng: Mua proxy, quản lý subscription, ví điện tử, lịch sử đơn hàng, 14 ngôn ngữ
  • Deploy: Vercel (khuyến nghị) hoặc Cloudflare Pages
  • Repo: github.com/lebachhiep/netproxy-console-v2
  • URL: seller.prx.network
  • Mục đích: Bảng điều khiển đại lý — do NetProxy vận hành
  • Tính năng: Quản lý giá, người dùng, đơn hàng, thương hiệu, thanh toán, báo cáo
  • URL: api.prx.network
  • Mục đích: Hệ thống API duy nhất phục vụ tất cả frontend
  • Do NetProxy vận hành — đại lý không cần triển khai backend
  1. Khách truy cập Landing Page của đại lý
  2. Nhấn “Đăng ký” → chuyển hướng đến Console
  3. Đăng ký tài khoản trên Console
  4. Backend tự động gắn người dùng với đại lý dựa trên domain
  1. Người dùng đăng nhập Console
  2. Chọn loại proxy, quốc gia, thời hạn → thêm vào giỏ hàng
  3. Thanh toán qua cổng thanh toán đại lý đã cấu hình
  4. Backend nhận webhook xác nhận → xử lý đơn hàng
  5. Worker mua proxy từ nhà cung cấp → tạo subscription
  6. Người dùng nhận thông tin proxy (IP, port, username, password)
  1. Admin đặt giá gốc cho từng gói proxy
  2. Đại lý đặt hệ số nhân (multiplier) trên Seller Portal
  3. Người dùng thấy giá = giá gốc × hệ số nhân
  4. Mã giảm giá (coupon) áp dụng thêm trên giá cuối
  1. Đại lý cấu hình domain + logo + favicon trên Seller Portal
  2. Console lấy thông tin branding từ API dựa trên domain request
  3. Giao diện tự động hiển thị thương hiệu của đại lý
  • Sử dụng JWT (JSON Web Token)
  • Access token: hết hạn sau 15 phút
  • Refresh token: hết hạn sau 30 ngày
  • Tự động refresh token khi nhận lỗi 401
  • Hỗ trợ “Remember me” — lưu token ở localStorage hoặc sessionStorage