Bez popisu

bob 910067e5c9 feat(web): 组织/数字讲师/生产队列 页面与组件,及课程页改造 před 1 měsícem
deployment 0fd737b845 Update codebase před 2 měsíci
docs 0fd737b845 Update codebase před 2 měsíci
public ec39a2e209 feat: 优化UI界面与样式,新增帮助中心、页脚及联系客服交流群功能 před 2 měsíci
sample 4671e08feb Initial commit před 2 měsíci
server 9ae3505123 feat(server): 组织与数字讲师/生产队列 API 及课程集成 před 1 měsícem
src 910067e5c9 feat(web): 组织/数字讲师/生产队列 页面与组件,及课程页改造 před 1 měsícem
uploads 4671e08feb Initial commit před 2 měsíci
.dockerignore 0fd737b845 Update codebase před 2 měsíci
.env.example 4671e08feb Initial commit před 2 měsíci
.gitignore 9f546606db chore: 新增 AGENTS.md 协作规范,忽略 .workbuddy 与 tsbuildinfo 构建产物 před 1 měsícem
AGENTS.md 9f546606db chore: 新增 AGENTS.md 协作规范,忽略 .workbuddy 与 tsbuildinfo 构建产物 před 1 měsícem
Dockerfile 0fd737b845 Update codebase před 2 měsíci
README.md 4671e08feb Initial commit před 2 měsíci
deploy.sh 0fd737b845 Update codebase před 2 měsíci
docker-compose.prod.yml 0fd737b845 Update codebase před 2 měsíci
docker-compose.yml 4671e08feb Initial commit před 2 měsíci
index.html 4671e08feb Initial commit před 2 měsíci
package-lock.json 9ae3505123 feat(server): 组织与数字讲师/生产队列 API 及课程集成 před 1 měsícem
package.json 9ae3505123 feat(server): 组织与数字讲师/生产队列 API 及课程集成 před 1 měsícem
tsconfig.app.json 4671e08feb Initial commit před 2 měsíci
tsconfig.json 4671e08feb Initial commit před 2 měsíci
tsconfig.node.json 4671e08feb Initial commit před 2 měsíci
vite.config.ts 0fd737b845 Update codebase před 2 měsíci

README.md

星痕 · 智能课程工坊

首版 MVP 包含课程创建、PPT 课件上传、素材确认和提交制作。课程提交后进入“等待制作”状态。

技术组成

  • React + Vite + TypeScript
  • Fastify Server
  • PostgreSQL
  • PPT 文件保存在服务器本地持久目录,PostgreSQL 保存课程和文件元数据

本地启动

  1. 复制环境配置:cp .env.example .env
  2. 启动 PostgreSQL:docker compose up -d postgres
  3. 安装依赖:npm install
  4. 启动前后端:npm run dev
  5. 打开 http://localhost:5173

Server 启动时会自动创建所需的数据表。

公网部署

推荐在带持久磁盘的 Linux 云服务器运行:

docker compose up -d --build

应用默认监听 3001 端口。生产环境应使用 Caddy 或 Nginx 配置域名、HTTPS 和反向代理,并修改 docker-compose.yml 中的 PostgreSQL 密码。

postgres_data 和 uploads_data 都是持久卷。部署时必须备份这两个卷;若使用无状态或 Serverless 平台,本地上传文件可能在重启时丢失,应先迁移至对象存储。

常用命令

  • npm run dev:开发模式
  • npm run build:生产构建
  • npm run check:TypeScript 检查
  • npm start:启动生产 Server
  • npm run db:migrate:手动初始化数据库