# 2HandHouseTradeSystem **Repository Path**: aicoding_2/2-hand-house-trade-system ## Basic Information - **Project Name**: 2HandHouseTradeSystem - **Description**: 二手房交易系统 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-22 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 2Hand 二手房交易系统 > 一个基于微服务架构的现代化二手房交易平台 --- ## 系统宗旨 打造安全、便捷、透明的二手房交易环境,让买卖房屋像购物一样简单。 ## 系统意义 - **对买家**:真实房源、在线看房、便捷交易 - **对卖家**:快速挂牌、透明定价、安全收款 - **对中介**:高效管理、数字化运营、数据驱动 --- ## 技术栈 ### 后端 - **框架**: Spring Boot 2.7.15 + Spring Cloud 2021.0.8 - **微服务**: Spring Cloud Alibaba 2021.0.4.0 - **服务注册/配置**: Nacos 2.2.0 - **数据库**: MySQL 8.0.33 - **缓存**: Redis 7.0 - **ORM**: Spring Data JPA - **网关**: Spring Cloud Gateway - **JDK**: OpenJDK 11 ### 前端 - **框架**: Vue 3 + TypeScript - **UI 组件**: Element Plus - **构建工具**: Vite - **状态管理**: Pinia - **路由**: Vue Router 4 ### 部署 - **容器化**: Docker + Docker Compose - **反向代理**: Nginx (alpine) --- ## 微服务架构 ``` ┌─────────────────────────────────────────────────────────┐ │ Nginx (端口 80) │ │ 前端静态文件 + API 路由 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ API Gateway (端口 8080) │ │ 统一入口、鉴权、限流 │ └─────────────────────────────────────────────────────────┘ │ ┌───────────┬───────┼───────┬───────────┐ ▼ ▼ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ auth │ │ user │ │ house │ │ order │ │ :8081 │ │ :8082 │ │ :8083 │ │ :8085 │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ audit │ │ payment │ │recommend- │ │ trade │ │ :8084 │ │ :8089 │ │ ation │ │ :8087 │ │ │ │ │ │ :8086 │ │ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Admin Service (端口 8088) │ │ 管理后台服务 │ └─────────────────────────────────────────────────────────┘ ``` --- ## 服务说明 | 服务名 | 端口 | 功能 | |--------|------|------| | api-gateway | 8080 | API 网关,统一入口 | | auth-service | 8081 | 用户认证、JWT 令牌 | | user-service | 8082 | 用户管理、个人信息 | | house-service | 8083 | 房源管理、浏览记录 | | order-service | 8085 | 订单管理、交易流程 | | audit-service | 8084 | 房源审核、资质审核 | | payment-service | 8089 | 支付对接(支付宝沙箱) | | recommendation-service | 8086 | 智能推荐、房源推荐 | | trade-service | 8087 | 交易管理、合同管理 | | admin-service | 8088 | 管理后台、数据统计 | | nginx | 80 | 前端静态文件 + 反向代理 | | nacos | 8848 | 服务注册与配置中心 | | mysql | 3306 | 数据库 | | redis | 6379 | 缓存 | --- ## 快速部署 ### 环境要求 - Ubuntu 20.04+ (或其他 Linux 发行版) - Docker 20.10+ - Docker Compose 2.0+ ### 一键部署 ```bash # 1. 进入项目目录 cd 2-hand-house-trade-system # 2. 启动所有服务 docker-compose up -d --build # 3. 查看服务状态 docker-compose ps # 4. 查看日志 docker-compose logs -f ``` ### 访问地址 部署完成后,通过以下地址访问系统(将 `<虚拟机 IP>` 替换为你的服务器 IP): - 🌐 **前端页面**: http://`<虚拟机 IP>`/ - 🔧 **Nacos 控制台**: http://`<虚拟机 IP>`:8848/nacos - 默认账号/密码:nacos/nacos - 📊 **API 网关**: http://`<虚拟机 IP>`:8080 ### 测试账号 数据库初始化后,可使用以下测试账号登录: | 角色 | 用户名 | 密码 | 说明 | |------|--------|------|------| | 管理员 | admin | admin123 | 管理后台 | | 普通用户 | user1 | 123456 | 买家/卖家 | | 普通用户 | user2 | 123456 | 买家/卖家 | > ⚠️ 首次部署后,请确保 `sql/init.sql` 已执行。如需修改测试账号,请编辑该文件后重新初始化数据库。 ### 停止服务 ```bash docker-compose down ``` ### 重启服务 ```bash docker-compose restart ``` --- ## 项目结构 ``` 2-hand-house-trade-system/ ├── docker-compose.yml # Docker 编排文件 ├── nginx/ │ └── nginx.conf # Nginx 配置 ├── frontend/ # Vue3 前端项目 ├── api-gateway/ # API 网关服务 ├── auth-service/ # 认证服务 ├── user-service/ # 用户服务 ├── house-service/ # 房源服务 ├── order-service/ # 订单服务 ├── audit-service/ # 审核服务 ├── payment-service/ # 支付服务 ├── recommendation-service/ # 推荐服务 ├── trade-service/ # 交易服务 ├── admin-service/ # 管理后台服务 └── sql/ └── init.sql # 数据库初始化脚本 ``` --- ## 核心功能 ### 用户端 - ✅ 用户注册/登录 - ✅ 房源浏览、搜索、筛选 - ✅ 房源详情、图片查看 - ✅ 在线预约看房 - ✅ 订单管理 - ✅ 在线支付(沙箱) - ✅ 个人中心 ### 管理端 - ✅ 用户管理 - ✅ 房源审核 - ✅ 订单管理 - ✅ 数据统计 - ✅ 系统配置 --- ## 开发说明 ### 本地开发 ```bash # 1. 只启动基础设施 docker-compose up -d mysql redis nacos # 2. 在 IDE 中启动 Java 服务 # 设置环境变量:NACOS_SERVER_ADDR=localhost:8848 ``` ### 添加新服务 1. 创建服务目录和 `Dockerfile` 2. 在 `docker-compose.yml` 中添加服务配置 3. 在 Nacos 中添加配置文件 --- ## 常见问题 ### 服务启动失败 ```bash # 查看日志 docker-compose logs <服务名> # 重启服务 docker-compose restart <服务名> ``` ### 数据库连接失败 确保 MySQL 已启动并完成初始化: ```bash docker-compose ps mysql docker-compose logs mysql ``` ### Nacos 无法访问 检查 8848 端口是否开放: ```bash sudo ufw allow 8848/tcp ``` --- ## License MIT License --- ## 联系方式 如有问题,请提交 Issue 或联系开发团队。