# kalem **Repository Path**: penmanship/kalem ## Basic Information - **Project Name**: kalem - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 家教匹配系统 ## 项目简介 多角色家教匹配平台,连接学生家长、家教老师和后台管理员,实现需求发布、智能匹配、任务分配、消息沟通等功能。 ## 技术栈 ### 前端 - Vue 2.6 + Element UI 2.15 - Vuex 3(状态管理) - Vue Router 3(路由管理) - Axios(HTTP请求) - ECharts 5(数据可视化) ### 后端 - ASP.NET Core 10 Web API - Entity Framework Core(数据库访问) - JWT(身份认证) - Serilog(日志记录) - Swagger(API文档) ### 数据库 - SQL Server (LocalDB) ## 快速启动 ### 环境要求 - .NET 10 SDK - Node.js 16+ - SQL Server LocalDB ### 启动后端 ```bash cd src/backend dotnet run ``` 后端服务启动后: - API地址: http://localhost:5257 - Swagger文档: http://localhost:5257/swagger ### 启动前端 ```bash cd src/frontend npm install npm run serve ``` 前端服务启动后: - 访问地址: http://localhost:8081 ### 环境变量配置(可选) 复制 `.env.example` 为 `.env`,根据需要配置: ```bash # 后端 cd src/backend cp .env.example .env # 前端 cd src/frontend cp .env.example .env ``` ## 测试账号 | 角色 | 用户名 | 密码 | 说明 | |------|--------|------|------| | 管理员 | admin | 123456 | 主管理员账号 | | 家长 | parent1 | 123456 | 测试家长 | | 老师 | teacher1 | 123456 | 测试老师 | ## 功能特性 ### 用户角色 - **学生家长**: 发布需求、查看分配老师、确认老师、消息沟通 - **家教老师**: 浏览需求、提交个人信息、消息沟通 - **机构老师**: 同家教老师,需后台审核,可直接与家长私聊 - **后台管理员**: 用户管理、需求管理、智能匹配、手动分配、审核管理、数据统计 ### 核心功能 - 多角色注册登录(JWT认证) - 需求发布与管理 - 智能匹配推荐算法(科目40%、地区30%、预算20%、评分10%) - 手动分配与确认 - 联系方式自动交换 - 消息通信(轮询机制) - 机构老师审核 - 数据统计与仪表盘 ## 项目结构 ``` testone/ ├── src/ │ ├── backend/ # 后端项目 │ │ ├── Controllers/ # API控制器 │ │ ├── Models/ # 数据模型 │ │ ├── Data/ # 数据库上下文 │ │ ├── Services/ # 业务服务 │ │ ├── Filters/ # 过滤器 │ │ ├── Helpers/ # 工具类 │ │ ├── wwwroot/ # 静态文件(头像等) │ │ └── Program.cs # 入口文件 │ └── frontend/ # 前端项目 │ └── src/ │ ├── views/ # 页面组件 │ │ ├── admin/ # 管理员页面 │ │ ├── parent/ # 家长页面 │ │ └── teacher/ # 老师页面 │ ├── services/ # API调用 │ ├── router/ # 路由配置 │ └── store/ # 状态管理 ├── epic&story/ # 需求文档 │ ├── epics.md # Epic分解 │ └── ux-design-specification.md ├── 家教匹配系统PRD.md # 产品需求文档 └── test-report.md # 测试报告 ``` ## 数据库 - 数据库名: TutoringSystem - 服务器: localhost,1433 - 主要表: Users, Requirements, TeacherInfos, Assignments, Messages, Audits, Addresses, InvitationCodes, Notifications ## 开发说明 ### 代码规范 - 后端: C# PascalCase 命名 - 前端: JavaScript camelCase 命名 - API字段名: PascalCase(与后端保持一致) ### 提交代码前 1. 确保后端服务可正常启动 2. 确保前端可正常编译 3. 运行测试脚本验证核心功能 ## 测试 项目提供PowerShell自动化测试脚本,覆盖管理员、家长、老师三种角色的核心功能: ```bash # 管理员功能测试 ./test-admin-all-features.ps1 # 家长功能测试 ./test-parent-all-features.ps1 # 老师功能测试 ./test-teacher-all-features.ps1 ``` ## 安全说明 - 数据库密码和JWT密钥请通过环境变量配置,不要硬编码在代码中 - 生产环境务必使用HTTPS - JWT_SECRET_KEY 环境变量必须设置 ## 许可证 本课程作业项目仅供学习使用。