Files
jiebanke/README_JAVA.md

225 lines
4.7 KiB
Markdown
Raw Normal View History

# 结伴客 - 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年* 📅