Thiết kế theo module
24 domain API được tổ chức độc lập trong modular monolith; web có workspace riêng cho từng phòng ban và có thể tách dịch vụ theo tải hoặc ranh giới nghiệp vụ.
NestJS modules · Next.js workspaces · 28 migrations
BLUEPRINTAS-BUILT · v1.1Blueprint này mô tả đúng phần mềm đang hiện diện trên production: kiến trúc, ranh giới module, dữ liệu dùng chung, API, quyền, luồng liên phòng ban và điều kiện kích hoạt các kết nối bên ngoài.
Đây là modular monolith vận hành doanh nghiệp, có 14 workspace phòng ban, cổng đối tác/học viên/tuyển dụng, API phiên bản hóa, dữ liệu PostgreSQL và kho file MinIO.
Có giao diện, API và dữ liệu/domain tương ứng.
Có adapter/feature flag, chờ credential hoặc sandbox.
Thiếu điều kiện thì connector tiếp tục khóa.
Nguyên tắc được chứng minh bằng cấu trúc hệ thống, không chỉ là tuyên bố thiết kế.
24 domain API được tổ chức độc lập trong modular monolith; web có workspace riêng cho từng phòng ban và có thể tách dịch vụ theo tải hoặc ranh giới nghiệp vụ.
NestJS modules · Next.js workspaces · 28 migrationsWorkflow, trạng thái, hạn mức duyệt, chính sách giá, thuế, lương, SLA, ca làm và feature flag được quản lý theo dữ liệu và ngày hiệu lực.
Master Data · Effective date · Workflow designerPháp nhân, chi nhánh, phòng ban, chức danh và người dùng là dữ liệu gốc; tên hiện tại không được nhúng cứng vào logic nghiệp vụ.
Legal Entity · Branch · Department · EmployeeCustomer/Site, Product/Model, Serial/Lot, Employee, Partner và Warehouse được dùng xuyên module; phạm vi quyền kết hợp vai trò, đơn vị và dữ liệu.
Role · Department · Branch · Legal Entity · Data ScopeAPI v1, integration outbox, webhook, idempotency, optimistic version và dead-letter queue tạo nền cho AMIS, ngân hàng, kênh Marketing và AI.
372 API paths · 118 schemas · Event outboxSource code, migration, Docker Compose, OpenAPI, cấu hình, backup và Blueprint As-built được quản lý như các thành phần bàn giao bắt buộc.
Source · Database · API · Deployment · RunbookMỗi lớp có trách nhiệm và ranh giới riêng; trao đổi nội bộ qua API/event thay vì cập nhật chéo dữ liệu.
Dashboard, Kanban, timeline, lịch, bản đồ và workbench được dùng theo đúng nghiệp vụ; không ép mọi tính năng vào cùng một kiểu bảng.
Trung tâm chỉ huy, mục tiêu toàn doanh nghiệp, kế hoạch và phê duyệt liên phòng ban.
Mục tiêu, kế hoạch, hoạt động thị trường, Clinic 360 và doanh thu trên cùng một không gian.
Chiến lược, chiến dịch, nội dung, đa kênh, Lead, sự kiện và ROI trên một hành trình có kiểm soát.
Điều phối chuyên gia, Demo lâm sàng, biên bản và hỗ trợ ứng dụng.
Điều hành dịch vụ hiện trường, bảo hành và bảo trì theo Customer · Site · Serial.
Sổ kho vận hành gốc: Lot-Date, Serial, FEFO/FIFO và luồng duyệt xuyên Kho Thủ Đức – Bình Dương.
Điều phối chuyến, giao–nhận thiết bị, POD và biên bản bàn giao.
Sổ phụ vận hành, hóa đơn, công nợ, ngân quỹ, thuế và đối soát AMIS có kiểm soát.
PR, RFQ, so sánh nhà cung cấp, PO, nhận hàng và đối chiếu công nợ.
Nhu cầu nhập, RFQ quốc tế, PO/PI, tiến độ sản xuất, thanh toán và bàn giao XNK.
Control Tower cho booking, shipment, chứng từ, khai báo, landed cost và phối hợp nhập kho.
Khóa học, lớp, học viên, tri thức sản phẩm và chứng nhận.
Hệ điều hành nhân sự: tuyển–dùng–phát triển–giữ chân, chấm công, lương và tuân thủ trên một dữ liệu gốc.
User, Role, Master Data, Workflow, API, audit, backup và tích hợp.
Module nguồn phát event; module đích ghi vào dữ liệu của chính mình và giữ tham chiếu để truy vết.
Master Data được tái sử dụng xuyên module; mỗi app chỉ sở hữu phần giao dịch thuộc domain của mình.
Connector chỉ được bật sau khi MegaVet cung cấp license, credential, sandbox, chính sách dữ liệu và người phê duyệt.
Bảo mật không chỉ là đăng nhập; quyền, lịch sử, chống trùng và rollback phải đi cùng từng giao dịch.
Role–Department–Branch–Legal Entity–Data Scope; guard riêng theo domain.
Ghi actor, thời gian, nguồn, thay đổi trước/sau; dữ liệu đã khóa không sửa trực tiếp.
Idempotency key, external reference, optimistic version và kiểm soát replay webhook.
Object storage tách database; checksum, version và thiết kế URL ký thời hạn ngắn.
Backup database trước release, health check trước chuyển phiên bản và khả năng rollback.
Kết nối ngoài mặc định tắt đến khi có license, sandbox, credential và người duyệt.
Nginx/TLS→Next.js :3100→NestJS :4000→PostgreSQL + MinIO
Release bất biến · health check · database backup trước deploy · symlink rollbackKhông dùng việc “có màn hình” làm bằng chứng hoàn thành một luồng nghiệp vụ.
Nội dung “đã triển khai” phải có bằng chứng trong source, database, API hoặc production. Nội dung phụ thuộc nhà cung cấp được giữ ở trạng thái sẵn sàng cấu hình cho đến khi kiểm thử production hợp lệ.