--- title: 项目定位、技术栈与仓库结构 type: fact permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/项目定位、技术栈与仓库结构 stable_id: beb81aaa-8e86-4af7-a6c8-d35f7682d330 scope: project project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a memory_type: fact status: active revision: 1 restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 created_at: '2026-09-23T15:08:16.719564+00:00' updated_at: '2026-09-23T15:08:16.719618+00:00' tags: - overview - stack - architecture --- Artveris:面向艺术品行业的“一物一码、首次激活、多次查询”全生命周期溯源与认证平台(内部代号 artveris,与甲方品牌名解耦,品牌名走系统设置 appName)。商业闭源,单平台模式不做机构隔离。 三端一库: - `apps/api` NestJS 11 + Prisma 5 + MySQL 8 + Redis + BullMQ(Express 5);全局前缀 `/api`,Swagger `/api/docs`;生产单服务同端口托管 `/admin` `/trace` `/api` `/t/:code` `/uploads`。 - `apps/admin` Vue3 + Vite 6 + Naive UI + Pinia + vue-router(hash) + vue-i18n + ECharts 6;内含安装向导 `/install` 页。 - `apps/client` Vue3 + Vite 移动优先溯源页,路由 `/trace/:code` 与 `/trace/preview/:code`,PhotoSwipe v5。 - `packages/shared` 枚举/错误码/常量/类型/溯源模块契约,tsc 构建 CJS。 - `scripts/` Python:`dev.py`(本地)、`build.py`(非 Docker 发布包)、`build_docker.py`(离线 Docker 包)、`remote.py`(SSH Docker 部署)、`upgrade-remote.ps1`+`upgrade-remote-steps.sh`(宝塔一键升级)、`_lib.py`、`config.yaml`。 - `docker/` 仅 `Dockerfile.api` + `entrypoint.sh`。`docs/` 产品/技术/天河链集成说明/交接文档。 其他:图片 sharp、二维码 qrcode、表格 exceljs、ZIP archiver/unzipper、OSS 走 @aws-sdk S3 兼容;中英双语。开发直接连本机 MySQL/Redis(不用 Docker)。