Bỏ qua, đến nội dung

Bản đồ gói core

Bảng dưới map packages/core/<thư mục>package npm (@digiforce-nc/<tên>) và vai trò. Mỗi gói có package.json định nghĩa chính xác tên publish.

Packages chính (runtime)

Thư mụcPackageVai trò
server@digiforce-nc/serverApplication Node/Koa - vòng đời app, PluginManager, Resourcer, DataSourceManager, ACL, cache, pub/sub
client@digiforce-nc/clientApplication React - SPA, PluginManager, RouterManager, Schema, APIClient, DataSourceManager client
database@digiforce-nc/databaseDatabase, Collection, Repository, Field, Migration (Sequelize wrapper)
resourcer@digiforce-nc/resourcerResourceManager, Resource, Action - middleware pipeline HTTP
data-source-manager@digiforce-nc/data-source-managerDataSourceManager, DataSource - quản lý nhiều nguồn dữ liệu
acl@digiforce-nc/aclEngine ACL runtime - role, resource, snippet, fixed params
auth@digiforce-nc/authAuthManager, JWT, authenticator registry
actions@digiforce-nc/actionsAction handler chuẩn: list, get, create, update, destroy, query...
cache@digiforce-nc/cacheCacheManager - Redis / in-memory cache
logger@digiforce-nc/loggerLogger ứng dụng và system (Winston)

Packages hỗ trợ

Thư mụcPackageVai trò
utils@digiforce-nc/utilsHàm dùng chung: compose, topo sort, uid...
evaluators@digiforce-nc/evaluatorsĐánh giá biểu thức / template (formula, mathjs)
sdk@digiforce-nc/sdkSDK tích hợp (API client wrapper)
telemetry@digiforce-nc/telemetryOpenTelemetry integration
snowflake-id@digiforce-nc/snowflake-idID generator kiểu Snowflake (distributed unique)
ui-core@digiforce-nc/ui-coreThành phần UI lõi dùng chung client

Packages tooling

Thư mụcPackageVai trò
app@digiforce-nc/appKhởi tạo ứng dụng tổng hợp (preset)
build@digiforce-nc/buildBuild tool (webpack/vite)
cli@digiforce-nc/cliCLI commands
create-digiforce-nc-appcreate-digiforce-nc-appScaffold project mới
devtools@digiforce-nc/devtoolsDev tools
test@digiforce-nc/testTest utilities (mock app, mock database)

Sơ đồ phụ thuộc giữa packages chính

Trục đọc mã (để debug)

Request HTTP (server-side)

server → resourcer → actions handler → database / data-source-manager

Bắt đầu từ Koa middleware, request đi qua DataSourceManagerResourceManager → handler trong actions → cuối cùng tới Repository (từ database hoặc data source khác).

Quyền

acl (engine runtime) + plugin-acl (đồng bộ DB → memory)

Engine acl chạy trong bộ nhớ. Plugin plugin-acl chịu trách nhiệm đọc cấu hình quyền từ database và đẩy vào engine.

Giao diện

client → APIClient (axios) → HTTP API → server pipeline

Client render UI theo schema, tạo request thông qua APIClient. Không có truy cập trực tiếp tới repository hay database.

Đọc tiếp