# software-engineering-coursework **Repository Path**: cdz_hy/software-engineering-coursework ## Basic Information - **Project Name**: software-engineering-coursework - **Description**: 南昌航空大学232019软件工程小组作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-02 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # software-engineering-coursework # 中医理疗按摩服务平台 ## 一、项目概述 ### 项目名称 中医理疗按摩服务平台 ### 项目描述 本项目是南昌航空大学232019软件工程小组作业,旨在开发一款集成**理疗按摩知识查询**、**在线咨询理疗问题**、**手机震动按摩体验**及**线下预约理疗服务**的多功能手机应用。通过分层架构和模块化设计,实现用户需求与业务逻辑的解耦,提升系统可维护性和扩展性。 ### 小组成员 - 王一果 - 王振祎 - 江子迁 - 黄俊杰 ## 二、软件架构 ### 总体架构 采用**三层分层架构**(表现层+业务逻辑层+数据访问层)结合模块化设计,各层职责清晰,支持独立扩展: #### 1. 表现层(用户交互层) - **功能**:提供手机端UI界面,实现用户交互操作,包含: - **知识查询界面**:展示中医按摩知识文档,支持关键词搜索。 - **在线咨询界面**:用户可输入问题发起咨询,查看历史咨询记录。 - **震动按摩控制界面**:调节按摩强度和模式,触发手机震动功能。 - **线下预约界面**:选择按摩店、按摩师及时间,生成预约订单。 - **社区交流界面**:发布帖子、评论互动、查看热门内容。 - **技术实现**:采用React Native/Flutter开发跨平台APP,集成按钮、列表、表单等交互组件。 #### 2. 业务逻辑层(核心功能层) - **功能**:处理核心业务规则,协调模块间数据流动,包含: - **知识管理模块**:分类整理按摩知识,支持搜索、热门推荐及内容更新。 - **咨询处理模块**:分配用户咨询至合适按摩师,跟踪咨询状态(待回复/已回复/已关闭)。 - **预约管理模块**:校验预约时间冲突,对接按摩店日程系统,更新预约状态(待确认/已确认/已完成)。 - **震动控制模块**:调用手机震动API(如Android/Vibrator、iOS/UIDevice),记录用户使用偏好。 - **社区运营模块**:审核帖子内容,统计点赞/评论数据,推送热门内容。 - **技术实现**:使用Java/Node.js开发后端服务,封装RESTful API接口。 #### 3. 数据访问层(数据处理层) - **功能**:负责数据存储与读取,支持关系型数据库(MySQL)和缓存(Redis),包含: - **实体数据**:用户、按摩师、按摩店、知识文档、咨询记录、预约订单等数据模型。 - **数据库操作**:实现用户注册/登录数据校验、按摩师资质审核记录存储、预约订单状态更新等。 - **缓存优化**:对热门知识文档、高频访问的用户信息进行缓存,提升响应速度。 - **技术实现**:使用MyBatis/Sequelize实现数据库ORM映射,Redis实现数据缓存。 ## 三、核心功能说明 ### 1. 理疗按摩知识查询 - **功能描述**:用户可通过关键词搜索中医按摩知识(如“颈椎按摩手法”),查看分类文档(如穴位图解、按摩禁忌),系统自动统计浏览量并推荐热门内容。 - **操作流程**: 1. 在首页搜索栏输入关键词,点击“搜索”; 2. 浏览搜索结果,点击文档查看详细内容; 3. 系统自动记录浏览行为,用于后续个性化推荐。 ### 2. 在线咨询理疗问题 - **功能描述**:用户可向专业中医理疗按摩师发起文字咨询,按摩师实时回复并提供专业建议,支持咨询记录查询。 - **操作流程**: 1. 在“咨询”页面选择按摩师,输入咨询内容; 2. 按摩师通过系统后台处理咨询,更新回复内容和状态; 3. 用户可在“我的咨询”中查看历史对话记录。 ### 3. 手机震动按摩体验 - **功能描述**:通过手机震动模拟按摩效果,支持强度调节(1-10级)和模式切换(如“揉捏模式”“敲击模式”),提供震动时长统计。 - **操作流程**: 1. 在“震动按摩”页面选择强度和模式; 2. 点击“开始”按钮触发震动,支持实时调整参数; 3. 结束后生成使用报告(如累计时长、常用模式)。 ### 4. 线下预约理疗服务 - **功能描述**:用户可浏览附近按摩店,选择按摩师和时间进行预约,支持预约状态跟踪(如确认、取消、完成)。 - **操作流程**: 1. 在“预约”页面选择按摩店,查看可用按摩师及时间; 2. 选择合适时段,提交预约订单; 3. 按摩师或店家确认预约后,用户收到通知并可查看订单详情。 ## 四、安装与运行 ### 环境要求 - **前端**:Node.js 14+、React Native CLI(或Flutter SDK) - **后端**:JDK 1.8+/Node.js 12+、MySQL 8.0+、Redis 6.0+ - **开发工具**:Android Studio/iOS Xcode、IDEA/VSCode ### 安装步骤 1. **克隆项目**: ```bash git clone https://gitee.com/your-team/software-engineering-coursework.git ``` ## 五、参与贡献 1. **Fork仓库**:点击右上角“Fork”按钮,将项目复制到个人仓库。 2. **创建分支**:基于`develop`分支创建新功能分支: ```bash git checkout -b feature/new-massage-mode ``` 3. **提交代码**:遵循代码规范,提交时添加清晰 commit 信息: ```bash git commit -m "feat: 添加新按摩模式选择功能" ``` 4. **发起PR**:完成开发后,向主仓库`main`分支提交Pull Request,注明功能说明和测试结果。 ## 六、技术栈与工具 - **前端**:React Native/Flutter、JavaScript/TypeScript、Redux(状态管理) - **后端**:Spring Boot/Express.js、Java/Node.js、MySQL/Redis - **工具**:Git、Postman(接口测试)、Swagger(API文档)、Maven/npm(依赖管理)