Chuyển tới nội dung chính

VPPOS Admin — Tổng quan

VPPOS Admin là hệ thống quản trị dành cho nền tảng VPPOS, được xây dựng theo kiến trúc Micro-Frontend (MFE) với Vite Module Federation.

Công nghệ chính​

Công nghệMục đích
React 18 + TypeScriptUI framework
Vite + Module FederationBuild tool + MFE runtime
pnpm workspacesPackage manager (monorepo)
TurborepoBuild orchestrator
Redux Toolkit + RTK QueryState management + API
React Hook Form + ZodForm + validation
Tailwind CSS v4Styling
dayjsDate/time utilities

Kiến trúc tổng thể​

┌────────────────────────────────────────────────────────┐
│ Container (Host :8080) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Auth │ │Dashboard │ │ Content │ │Inventory │ │
│ │ :8082 │ │ :8081 │ │ :8083 │ │ :8084 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │Analytics │ │Role-Perm │ │Sale Mgmt │ │ Setting │ │
│ │ :8085 │ │ :8086 │ │ :8087 │ │ :8088 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │Workforce │ │E-Invoice │ │ Payment │ │ CRM │ │
│ │ :8089 │ │ :8091 │ │ :8092 │ │ :8093 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Mobile │ │ Partner │ │Accounting│ ┌──────────┐ │
│ │ :8094 │ │ :8095 │ │ :8096 │ │E-Sign │ │
│ └──────────┘ └──────────┘ └──────────┘ │ :8097 │ │
│ └──────────┘ │
│ @vppos/core (shared library) │
└────────────────────────────────────────────────────────┘

Các module​

ModulePortMô tả
Container8080Host app — layout, sidebar, auth guard, MFE loader
Dashboard8081Tổng quan kinh doanh
Auth8082Đăng nhập, đăng ký, quên mật khẩu
Content8083Tin tức, danh mục, banner
Inventory8084Hàng hóa, kho hàng, nhà cung cấp
Analytics8085Báo cáo & phân tích
Role & Permission8086Phân quyền, gói đăng ký, chi nhánh
Sale Manage8087Quản lý bán hàng, đơn hàng
Setting8088Cài đặt hệ thống
Workforce8089Quản lý nhân sự, chấm công, phiên ca
E-Invoice8091Hóa đơn điện tử
Payment8092Thanh toán, ngân hàng, ví điện tử
CRM8093Khách hàng, loyalty, thẻ thành viên
Mobile8094WebView cho app mobile
Partner8095Quản lý đối tác, hợp đồng, đặt loa
Accounting8096Sổ kế toán, kê khai thuế
E-Signature8097Chữ ký số, chứng thư số
thông tin

Port 8090 được dự trữ cho module Marketing (chưa triển khai).

Shared package​

@vppos/core chứa toàn bộ UI components, hooks, utils, types, constants dùng chung. Mọi module đều import từ core — không duplicate code.

import { Button, Input, Modal } from "@vppos/core/ui/react";
import { useDebounce } from "@vppos/core/hooks";
import { toastUtils } from "@vppos/core/utils";