基于 Spring Boot 3.4.2 + Vue 3.x 的现代化宠物医院管理系统,采用微服务架构和前后端分离设计。
PetClinic 是一个功能完整的宠物医院管理平台,提供宠物档案管理、兽医排班、预约系统、医疗记录跟踪等核心功能。系统采用领域驱动设计(DDD)原则,具备高可用性、可扩展性和安全性。
| 技术 | 版本 | 用途 |
|---|---|---|
| Spring Boot | 3.4.2 | 核心框架 |
| Spring Cloud | 2023.0.0 | 微服务支持 |
| Keycloak | 22.0 | 身份认证 |
| MySQL | 8.0 | 主数据库 |
| Redis | 7.0 | 缓存 |
| Nacos | 2.2.3 | 服务注册与发现 |
| Seata | 1.7.1 | 分布式事务 |
| Resilience4j | 2.1.0 | 熔断降级 |
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue | 3.x | 核心框架 |
| TypeScript | 5.0 | 类型安全 |
| TDesign | 1.0 | UI组件库 |
| Pinia | 2.0 | 状态管理 |
| Vite | 5.0 | 构建工具 |
petclinic/ ├── services/ # 微服务模块 (6个核心服务) │ ├── user-service/ # 用户服务 (端口: 8081) │ ├── pet-service/ # 宠物服务 (端口: 8082) │ ├── vet-service/ # 兽医服务 (端口: 8083) │ ├── appointment-service/ # 预约服务 (端口: 8084) │ ├── medical-record-service/ # 病历服务 (端口: 8085) │ └── sync-service/ # 同步服务 (端口: 8086) ├── frontend/ # Vue 3.x 前端应用 │ ├── src/ # 源代码目录 │ ├── public/ # 静态资源 │ ├── package.json # 依赖配置 │ └── Dockerfile # 容器配置 ├── common/ # 公共模块库 │ ├── core/ # 核心工具类 │ └── security/ # 安全组件 ├── infrastructure/ # 基础设施配置 ├── keycloak/ # Keycloak认证服务 ├── nacos-config/ # Nacos配置中心 ├── sql/ # 数据库脚本 ├── scripts/ # 部署和测试脚本 ├── docker-compose.*.yml # 多环境Docker配置 (9个环境) └── pom.xml # Maven父项目配置
| 工具 | 版本 | 备注 |
|---|---|---|
| JDK | 21+ | 推荐使用 Kona JDK 21 |
| Node.js | 18+ | 推荐使用 18.17.0+ |
| Docker | 20.10+ | 容器化支持 |
| MySQL | 8.0+ | 数据库 |
| Redis | 7.0+ | 缓存 |
| Maven | 3.6+ | 构建工具 |
| pnpm | 8.0+ | 包管理器 |
| 工具 | 版本 | 备注 |
|---|---|---|
| JDK | 21+ | 推荐使用 Kona JDK 21 |
| Node.js | 18+ | 推荐使用 18.17.0+ |
| Docker | 20.10+ | 容器化支持 |
| MySQL | 8.0+ | 数据库 |
| Redis | 7.0+ | 缓存 |
| Maven | 3.6+ | 构建工具 |
| pnpm | 8.0+ | 包管理器 |
git clone <repository-url>
cd copilotcli-petclinic
# 使用轻量级配置快速启动
docker-compose -f docker-compose.lightweight.yml up -d
# 或者使用开发环境完整配置
docker-compose -f docker-compose.dev.yml up -d
# 编译整个项目
mvn clean compile
# 批量启动所有微服务 (推荐)
./scripts/start-all-services.sh
# 或者单独启动服务
cd services/user-service && mvn spring-boot:run
cd services/pet-service && mvn spring-boot:run
# ... 其他服务端口请参考下表
cd frontend
pnpm install
pnpm dev
| 服务 | 端口 | 健康检查地址 |
|---|---|---|
| API Gateway | 8080 | http://localhost:8080/actuator/health |
| User Service | 8081 | http://localhost:8081/actuator/health |
| Pet Service | 8082 | http://localhost:8082/actuator/health |
| Vet Service | 8083 | http://localhost:8083/actuator/health |
| Appointment Service | 8084 | http://localhost:8084/actuator/health |
| Medical Record Service | 8085 | http://localhost:8085/actuator/health |
| Sync Service | 8086 | http://localhost:8086/actuator/health |
# 完整开发环境(包含所有基础设施)
docker-compose -f docker-compose.dev.yml up -d
# 或者使用轻量级配置(推荐用于快速开发)
docker-compose -f docker-compose.lightweight.yml up -d
# 测试环境配置
docker-compose -f docker-compose.test.yml up -d
# 或者使用简单配置
docker-compose -f docker-compose.simple.yml up -d
# 构建生产镜像
docker-compose -f docker-compose.prod.yml build
# 启动生产服务
docker-compose -f docker-compose.prod.yml up -d
# ARM64架构兼容配置
docker-compose -f docker-compose.arm64.yml up -d
系统提供完整的OpenAPI 3.0文档,每个微服务都有独立的API文档:
通过API网关统一访问所有服务:
# 检查单个服务健康状态
curl http://localhost:8081/actuator/health
# 通过API网关检查所有服务健康状态
curl http://localhost:8080/actuator/health
# 检查微服务健康状态汇总
curl http://localhost:8080/actuator/health/details
# 获取服务指标数据
curl http://localhost:8081/actuator/metrics
# 获取 Prometheus 格式指标
curl http://localhost:8081/actuator/prometheus
# 查看JVM指标
curl http://localhost:8081/actuator/metrics/jvm.memory.used
# 查看服务信息
curl http://localhost:8081/actuator/info
# 查看环境配置
curl http://localhost:8081/actuator/env
# 查看Bean定义
curl http://localhost:8081/actuator/beans
### 日志查看 ```bash # 查看特定服务日志 docker-compose logs -f user-service # 查看所有服务日志 docker-compose logs -f # 查看最近100行日志 docker-compose logs --tail=100
# 后端测试
mvn test
mvn jacoco:report
# 前端开发
cd frontend && pnpm lint
cd frontend && pnpm build
# 数据库操作
mysql -u root -p < sql/init-database.sql
查看 问题修复记录 获取常见问题的解决方案。
| 文档 | 说明 | 链接 |
|---|---|---|
| 架构设计 | 详细技术架构说明 | petclinic-archi.md |
| 开发指南 | 开发环境搭建和规范 | DEVELOPMENT.md |
| 测试报告 | 代码测试覆盖率统计 | TEST_COVERAGE_SUMMARY.md |
| 生产部署 | 生产环境部署说明 | petclinic-prd.md |
| 问题修复 | 常见问题解决方案 | PROBLEM_FIXES_SUMMARY.md |
| 前端修复 | 前端完整修复记录 | FRONTEND_FIX_COMPLETE.md |
| 医疗记录 | 病历服务配置说明 | MEDICAL_RECORDS_SETUP.md |
本项目采用 MIT 许可证。
🛠️ 开发团队: PetClinic开发团队
⚙️ 技术栈: Spring Boot 3.4.2 + Vue 3.x + Docker + Microservices
📦 版本: v1.0.0
🔄 最后更新: 2025-10-24
✅ 状态: 生产就绪 (参考 验证报告)