# 结伴客 - Java微服务版 结伴客是一个专注于结伴旅行和动物认领的社交平台。本项目采用Java微服务架构,基于Spring Boot和Spring Cloud实现。 ## 🌟 项目特点 - **微服务架构**: 基于Spring Boot和Spring Cloud构建的微服务系统 - **前后端分离**: 前端使用Vue.js,后端提供RESTful API - **容器化部署**: 支持Docker和Docker Compose一键部署 - **高可用性**: 服务注册与发现、负载均衡、熔断机制 - **安全认证**: JWT Token认证和RBAC权限控制 - **缓存优化**: Redis缓存提升系统性能 - **消息队列**: RabbitMQ实现异步处理和解耦 ## 🏗️ 系统架构 ```mermaid graph TB subgraph "前端应用" A[后台管理系统] B[微信小程序] C[官方网站] end subgraph "API网关层" D[Spring Cloud Gateway] end subgraph "微服务层" E[Eureka Server] F[Auth Service] G[User Service] H[Travel Service] I[Animal Service] J[Order Service] K[Promotion Service] end subgraph "数据层" L[MySQL] M[Redis] N[RabbitMQ] end A --> D B --> D C --> D D --> F D --> G D --> H D --> I D --> J D --> K F --> L G --> L H --> L I --> L J --> L K --> L F --> M G --> M H --> M I --> M J --> M K --> M F --> N G --> N H --> N I --> N J --> N K --> N E --> F E --> G E --> H E --> I E --> J E --> K ``` ## 📁 项目结构 ``` jiebanke/ ├── admin-system/ # 后台管理系统 (Vue.js) ├── backend-java/ # 后端Java微服务 │ ├── eureka-server/ # 服务注册与发现 │ ├── gateway-service/ # API网关 │ ├── auth-service/ # 认证服务 │ ├── user-service/ # 用户服务 │ ├── travel-service/ # 旅行服务 │ ├── animal-service/ # 动物服务 │ ├── order-service/ # 订单服务 │ ├── promotion-service/ # 推广服务 │ ├── common/ # 公共模块 │ ├── scripts/ # 脚本文件 │ ├── docker-compose.yml # Docker编排文件 │ └── pom.xml # Maven根配置 ├── mini-program/ # 微信小程序 ├── website/ # 官方网站 ├── docs/ # 文档目录 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - Java 17 - Maven 3.6+ - Docker & Docker Compose - MySQL 8.0+ - Redis 6.0+ - RabbitMQ 3.8+ ### 本地开发 1. 克隆项目 ```bash git clone https://github.com/your-username/jiebanke.git cd jiebanke ``` 2. 构建后端服务 ```bash cd backend-java ./build-services.sh ``` 3. 启动所有服务 ```bash # 使用Docker Compose启动 docker-compose up -d # 或使用启动脚本 ./start-services.sh ``` 4. 访问服务 - Eureka Dashboard: http://localhost:8761 - API Gateway: http://localhost:8080 - API文档: http://localhost:8080/doc.html ### 前端开发 #### 后台管理系统 ```bash cd admin-system npm install npm run dev ``` #### 官方网站 ```bash cd website npm install npm run dev ``` #### 微信小程序 使用微信开发者工具打开`mini-program`目录 ## 📖 文档 详细的文档请查看 [docs](docs/) 目录: - [架构设计文档](docs/architecture-java.md) - [API接口文档](docs/API_DOCS_JAVA.md) - [数据库设计文档](docs/database-design-java.md) - [部署指南](docs/DEPLOYMENT_JAVA.md) - [性能优化指南](backend-java/PERFORMANCE_OPTIMIZATION.md) ## 🛠️ 技术栈 ### 后端技术栈 - **核心框架**: Spring Boot 3.1.0, Spring Cloud 2022.0.3 - **服务治理**: Eureka Server - **API网关**: Spring Cloud Gateway - **数据库**: MySQL 8.0, MyBatis-Plus - **缓存**: Redis - **消息队列**: RabbitMQ - **安全框架**: Spring Security, JWT - **构建工具**: Maven - **测试框架**: JUnit 5, Mockito ### 前端技术栈 - **后台管理**: Vue 3, Element Plus - **微信小程序**: 原生小程序, Vant Weapp - **官方网站**: Vue 3, Vue Router ## 📦 部署 ### Docker部署 ```bash cd backend-java docker-compose up -d ``` ### 生产环境部署 请参考 [部署指南](docs/DEPLOYMENT_JAVA.md) ## 🧪 测试 ### 后端测试 ```bash cd backend-java mvn test ``` ### API测试 使用Postman或curl测试API接口 ## 🤝 贡献 欢迎提交Issue和Pull Request来改进项目。 ## 📄 许可证 本项目采用MIT许可证,详情请见 [LICENSE](LICENSE) 文件。 ## 📞 联系我们 - 邮箱: support@jiebanke.com - 官网: https://www.jiebanke.com --- *最后更新: 2025年* 📅