项目分析
第一部分:项目概述及技术选型
-
项目背景:
- 在线医疗诊断平台的市场需求与发展趋势
- 本平台的目标用户和核心功能,突出解决的痛点
- 竞品分析,差异化优势
-
技术选型:
-
后端:
- 核心框架: Spring Boot (简化开发流程)
- 持久层框架: MyBatis (灵活,易于上手)
- 数据库: MySQL (成熟稳定,成本低)
- 其他:
- Lombok (简化代码)
- Swagger (接口文档)
- JWT (用户认证)
-
前端:
- 核心框架: Vue.js (轻量,组件化)
- UI 框架: Element UI / Ant Design Vue (可选,提高开发效率)
- 状态管理: Vuex (可选,用于复杂项目)
- 路由管理: Vue Router (实现单页应用)
-
实时通信: WebSocket (使用 Spring WebSocket 或其他库)
-
第二部分:环境搭建与项目初始化
-
开发环境配置:
- JDK 安装与环境变量配置
- Maven 安装与配置
- MySQL 安装与配置,创建数据库
- Node.js 安装
- IDE 安装与配置 (推荐 IntelliJ IDEA 或 VS Code)
- Postman (可选,用于接口测试)
-
项目初始化:
- 创建 Spring Boot 项目,添加必要依赖
- 创建 Vue.js 项目, 引入 UI 框架
- 配置前后端项目结构,确保代码分离
-
版本控制:
- 使用 Git 进行版本控制,创建远程仓库 (例如: GitHub, GitLab)
第三部分:数据库设计与实现
-
数据库设计 (E-R 图):
- 用户表 (患者、医生、管理员)
- 患者信息: 姓名,性别,年龄,病史...
- 医生信息: 姓名,性别,科室,职称,擅长...
- 管理员信息: ...
- 问题表 (患者提问)
- 问题描述,图片,视频...
- 关联患者 ID
- 回答表 (医生回复)
- 回答内容,图片,视频...
- 关联问题 ID,医生 ID
- 处方表
- 药品信息 (关联药品表)
- 用量,用法,注意事项...
- 关联问题 ID,医生 ID
- 药品信息表
- 药品名称,通用名,厂家,规格,适应症,用法用量,不良反应...
- 消息表 (可选,用于实时通知)
- 发送者,接收者,消息内容,时间...
- ... (其他业务表)
- 用户表 (患者、医生、管理员)
-
MyBatis 实现数据库操作:
- 创建实体类,映射数据库表
- 编写 Mapper 接口,定义 SQL 语句
- 编写 Mapper XML 文件,实现 SQL 语句和 Java 对象的映射
- 编写测试用例,确保数据库操作正确性
第四部分:后端功能开发 (RESTful API)
-
通用模块:
- 异常处理机制
- 日志记录 (使用 AOP 或拦截器)
- 工具类封装
- 响应数据格式统一
-
用户管理模块:
- 用户注册 (区分角色,表单校验)
- 用户登录 (密码加密,JWT 生成 token)
- 用户信息修改 (密码修改)
- 权限控制 (基于角色的权限控制)