chore: clean root workspace structure

This commit is contained in:
Codex
2026-06-28 20:28:27 +08:00
parent 02148c7b8b
commit 2f0c3028b4
4 changed files with 48 additions and 4260 deletions

View File

@@ -6,7 +6,7 @@
## 当前状态
更新时间2026-06-22
更新时间2026-06-28
目前已经完成并在本地验证通过的内容:
@@ -27,6 +27,7 @@
- OSS/COS/Supabase Storage 上传下载签名 provider 已接入上传后校验、PDF 预览、防盗链和视频水印还没完成。
- Excel/CSV 导入、分数线/视频批量导入和异步 worker 还没完成。
- Taro 跨端前端还没开始 scaffold。
- 根目录已清理为新 Supabase SaaS monorepo 编排层;旧 PocketBase/React 项目和旧构建产物仅保留在 `参考/` 目录作为迁移参考,不进入 Git 提交。
更完整的进度看这些文档:
@@ -56,6 +57,8 @@ docs/refactor/ 重构架构、进度、治理文档
docker-compose.api.yml API 容器化运行配置
```
旧项目参考文件在本机 `F:\project\参考\旧题库项目`,旧前端构建产物在 `F:\project\参考\旧构建产物`。这两个目录都只用于对照和迁移,不作为当前新项目源码。
## 本地开发
前置要求:

View File

@@ -9,6 +9,7 @@
- Git 跟踪的新项目代码,是商用 SaaS 重构后的后端、数据库迁移、导入工具、测试脚本和重构文档。
- 旧 PocketBase/React 题库项目只作为功能对照、数据迁移参考和前端样式参考,不作为当前 Gitea 仓库的源码主体。
- 旧项目参考文件集中放在 `参考/旧题库项目/`,该目录被 `.gitignore` 忽略,不会进入提交。
- 旧前端构建产物、临时打包结果和与新 Supabase 技术栈无关的材料,统一放入 `参考/` 或被 `.gitignore` 忽略,根目录只保留新 monorepo 的工程入口。
## 新重构项目目录
@@ -59,10 +60,12 @@ F:\project
refactor/ 新架构、进度、交付和 TODO 文档
docker-compose.api.yml API 容器运行配置
package.json 工作区脚本入口
package.json 新 Supabase SaaS 工作区脚本入口
README.md 中文项目总览
```
根目录不再承载旧 React/Vite 前端源码和构建脚本。后续前端重构应新建 `apps/taro/`,由 Taro 同时服务 H5 和小程序,统一调用 `apps/api`
## 旧项目参考目录
旧项目已经整理到:
@@ -71,6 +74,12 @@ F:\project
F:\project\参考\旧题库项目
```
旧构建产物已经整理到:
```text
F:\project\参考\旧构建产物
```
其中主要内容:
```text
@@ -89,6 +98,14 @@ F:\project\参考\旧题库项目
tsconfig.json 旧前端 TS 配置
```
旧构建产物目录目前主要包含:
```text
参考/旧构建产物/
dist-admin/ 旧后台构建输出
dist-public/ 旧学生端构建输出
```
## 后续提交规范
提交前建议先看:
@@ -112,6 +129,17 @@ git status --short --branch
如果看到 `参考/旧题库项目/**`,说明 `.gitignore` 被改坏了,必须先修复再提交。
如果根目录重新出现这些文件或目录,一般应先确认是否属于旧栈残留,再移动到 `参考/` 或删除本地临时产物:
- `src/`
- `public/`
- `dist-admin/`
- `dist-public/`
- `index.html`
- `vite.config.ts`
- `tailwind.config.js`
- 旧 React/Vite/PocketBase 相关 package 入口
## 前端重构建议
后续 Taro 前端建议新建:

4219
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{
"name": "tianjin-zsb-master",
"version": "1.0.0",
"description": "升本刷题通 - 专业的专升本备考刷题软件",
"author": "升本刷题通团队",
"name": "tiku-supabase",
"version": "0.1.0",
"description": "商用 SaaS 题库系统的 Supabase/PostgreSQL 重构工程",
"author": "工学教育",
"private": true,
"type": "module",
"homepage": "./",
@@ -11,46 +11,11 @@
"packages/*",
"scripts/import-pocketbase"
],
"dependencies": {
"@codemirror/lang-cpp": "^6.0.3",
"@codemirror/state": "^6.6.0",
"@codemirror/view": "^6.41.1",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@google/genai": "*",
"codemirror": "^6.0.2",
"docx": "^9.6.1",
"html-to-image": "^1.11.13",
"jszip": "^3.10.1",
"katex": "^0.16.45",
"lucide-react": "^0.330.0",
"pdf-lib": "^1.17.1",
"pdfjs-dist": "^5.6.205",
"perfect-freehand": "^1.2.3",
"pocketbase": "^0.21.1",
"qrcode.react": "^4.2.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.22.0",
"react-to-print": "^3.3.0",
"recharts": "^2.12.7",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@vitejs/plugin-react": "^4.2.0",
"autoprefixer": "^10.4.16",
"postcss": "^8.4.31",
"supabase": "^2.107.0",
"tailwindcss": "^3.3.5",
"typescript": "^5.2.2",
"vite": "^5.0.0"
"pg": "^8.16.3",
"supabase": "^2.107.0"
},
"scripts": {
"dev": "vite --mode public",
"dev:admin": "vite --mode admin",
"dev:api": "npm --workspace @tiku-saas/api run dev",
"build:api": "npm --workspace @tiku-saas/api run build",
"check:api": "npm --workspace @tiku-saas/api run check",
@@ -70,11 +35,6 @@
"pb:schema:summary": "npm --workspace @tiku-saas/import-pocketbase run schema:summary",
"pb:schema:risk": "npm --workspace @tiku-saas/import-pocketbase run schema:risk",
"pb:import:json": "npm --workspace @tiku-saas/import-pocketbase run import:json",
"pb:import:validate": "npm --workspace @tiku-saas/import-pocketbase run import:validate",
"build": "npm run build:public",
"build:public": "tsc && vite build --mode public",
"build:admin": "tsc && vite build --mode admin",
"build:all": "npm run build:public && npm run build:admin",
"preview": "vite preview"
"pb:import:validate": "npm --workspace @tiku-saas/import-pocketbase run import:validate"
}
}