# student-time **Repository Path**: LightWang/student-time ## Basic Information - **Project Name**: student-time - **Description**: 学生时光 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-21 - **Last Updated**: 2025-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生时光(Student Moments) 学生时光是面向学校的校园影像平台,帮助老师高效上传课堂照片,家长安全、及时地了解孩子在校情况。仓库采用 pnpm 工作区管理,包含后端服务、微信小程序以及教师桌面端控制台三大子项目。 ## 仓库结构 ``` . ├─ apps/ │ ├─ backend/ # NestJS + GraphQL 服务 │ ├─ miniapp/ # 基于 uni-app 的微信小程序 │ └─ teacher-console/ # Vue3 + Element Plus 教师控制台 ├─ openspec/ # OpenSpec 变更与规格 ├─ package.json # 顶层脚手架脚本 ├─ pnpm-workspace.yaml # 工作区配置 └─ tsconfig.base.json # TypeScript 基础配置 ``` ## 环境要求 - Node.js ≥ 18 - pnpm ≥ 8(推荐 `npm install -g pnpm` 安装) - 微信开发者工具(运行 `apps/miniapp`) - 可选:UniApp CLI(`npm install -g @dcloudio/uniapp-cli`),用于命令行构建小程序 ## 快速开始 1. **安装依赖** ```bash pnpm install ``` 2. **运行后端服务(GraphQL)** ```bash pnpm --filter @photoflow/backend start:dev ``` 启动后默认监听 `http://localhost:3000/api/graphql`,内置样例数据可直接调试 `guardianFeed` 等查询。 3. **运行教师控制台** ```bash cd apps/teacher-console pnpm dev ``` 浏览器打开 `http://localhost:5173`(实际端口见终端输出)。 4. **运行微信小程序** - 推荐通过微信开发者工具导入 `apps/miniapp` 目录调试; - 命令行构建示例: ```bash pnpm --filter @photoflow/miniapp dev:weapp ``` 首次需要确保安装了 `@dcloudio/uniapp-cli`。 ## 常用脚本 | 命令 | 说明 | | ---- | ---- | | `pnpm install` | 安装所有工作区依赖 | | `pnpm --filter @photoflow/backend build` | 编译后端 TypeScript 代码 | | `pnpm --filter @photoflow/teacher-console build` | 构建教师端静态资源 | | `pnpm --filter @photoflow/backend lint` | 运行后端 ESLint 检查 | | `pnpm --filter @photoflow/miniapp lint` | 运行小程序 ESLint 检查 | ## 后续规划 - 将内存样例数据替换为真实数据库(PostgreSQL)、对象存储与队列服务; - 对接学校 SIS、媒体处理流水线、认证鉴权系统; - 为前后端补充自动化测试、CI/CD 流程与部署脚本。 更多设计细节、测试策略与规格请参见 `openspec/changes/add-student-photo-miniapp/`。