# shop-server
**Repository Path**: jijix/shop-server
## Basic Information
- **Project Name**: shop-server
- **Description**: No description available
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-05
- **Last Updated**: 2026-04-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Shop Server





**基于 Spring Boot 3 + Vue 3 的现代化电商平台系统**
[开发文档](#开发指南) | [问题反馈](https://github.com/marsfactory/shop-server/issues)
## 项目简介
Shop Server 是一个基于 Spring Boot 3 和 Vue 3 开发的现代化电商平台系统,采用前后端分离架构,提供完整的商品管理、订单处理、用户管理、消息通知等功能。项目采用分层架构设计,代码规范、结构清晰,适合作为电商平台的基础框架。
## 在线演示
**演示地址:** [https://shop-server-demo.com/](https://shop-server-demo.com/)(预留)
| 账号 | 密码 | 说明 |
|------|------|------|
| admin | admin123 | 管理员账号(预留) |
| test | test123 | 测试账号(预留) |
## 技术栈
### 后端
| 技术 | 版本 | 说明 |
|------|------|------|
| Spring Boot | 3.5.5+ | 基础框架 |
| MyBatis-Plus | 3.5+ | ORM 框架 |
| Sa-Token | 1.37+ | 权限认证框架 |
| MySQL | 8.0+ | 数据库 |
| Maven | 3.8+ | 项目管理工具 |
### 前端
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.4+ | 前端框架 |
| TypeScript | 5.3+ | 类型安全 |
| Vite | 5.0+ | 构建工具 |
| Tailwind CSS | 3.0+ | CSS 框架 |
| Pinia | 2.1+ | 状态管理 |
| Vue Router | 4.2+ | 路由管理 |
| Axios | 1.6+ | HTTP 客户端 |
## 项目结构
```
shop-server
├── src/ # 后端源码
│ ├── main/java/com/mars/shop/
│ │ ├── common/ # 公共模块
│ │ │ ├── enums/ # 枚举类
│ │ │ ├── exception/ # 异常处理
│ │ │ └── result/ # 统一响应封装
│ │ ├── config/ # 配置类
│ │ ├── modules/ # 业务模块
│ │ │ ├── address/ # 地址管理
│ │ │ ├── category/ # 分类管理
│ │ │ ├── favorite/ # 收藏管理
│ │ │ ├── mapper/ # MyBatis Mapper
│ │ │ ├── message/ # 消息管理
│ │ │ ├── order/ # 订单管理
│ │ │ ├── product/ # 商品管理
│ │ │ └── user/ # 用户管理
│ │ └── MyBatisFlexDemoApplication.java # 应用入口
│ └── resources/ # 资源文件
│ ├── application.yml # 主配置文件
│ ├── application-dev.yml # 开发环境配置
│ ├── application-prod.yml # 生产环境配置
│ ├── schema.sql # 数据库表结构
│ └── mock-data.sql # 模拟数据
│
├── shop-vue/ # 前端源码
│ ├── public/ # 静态资源
│ ├── src/
│ │ ├── api/ # API 接口定义
│ │ ├── assets/ # 静态资源
│ │ ├── components/ # 组件
│ │ ├── mocks/ # 模拟数据
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── types/ # 类型定义
│ │ ├── utils/ # 工具函数
│ │ ├── views/ # 页面组件
│ │ ├── App.vue # 根组件
│ │ ├── main.ts # 入口文件
│ │ └── style.css # 全局样式
│ ├── package.json # 前端依赖
│ ├── vite.config.ts # Vite 配置
│ └── tsconfig.json # TypeScript 配置
│
├── UI/ # UI 设计文件
│ └── frontend-design/ # 前端设计资源
│
├── doc/ # 项目文档
│ ├── PROJECT_DOC.md # 项目文档
│ ├── STARTUP.md # 启动指南
│ └── openapi.json # API 文档
│
├── pom.xml # Maven 配置
├── README.md # 项目说明
└── LICENSE # 许可证
```
## 功能特性
### 用户管理
- **用户注册** - 邮箱/手机号注册
- **用户登录** - 账号密码登录
- **个人资料** - 个人信息查看与修改
- **地址管理** - 收货地址的增删改查
### 商品管理
- **商品发布** - 发布二手商品
- **商品列表** - 商品浏览与搜索
- **商品详情** - 商品详细信息查看
- **商品分类** - 商品分类管理
### 订单管理
- **创建订单** - 购买商品创建订单
- **订单列表** - 查看历史订单
- **订单状态** - 订单状态管理
### 收藏管理
- **商品收藏** - 收藏喜欢的商品
- **收藏列表** - 查看收藏的商品
### 消息管理
- **聊天功能** - 买卖双方即时通讯
- **消息列表** - 查看聊天记录
## 快速开始
### 环境准备
- JDK 21+
- Maven 3.9+
- MySQL 8.0+
- Node.js 18+
### 后端启动
1. **克隆项目**
```bash
git clone https://gitee.com/Marsfactory/shop-server.git
cd shop-server
```
2. **初始化数据库**
```sql
-- 创建数据库
CREATE DATABASE shop_server DEFAULT CHARACTER SET utf8mb4;
-- 导入 SQL
mysql -u root -p shop_server < src/main/resources/schema.sql
mysql -u root -p shop_server < src/main/resources/mock-data.sql
```
3. **修改配置**
修改 `src/main/resources/application-dev.yml` 中的数据库配置:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/shop_server
username: root
password: your_password
```
4. **启动项目**
```bash
mvn clean install
mvn spring-boot:run
```
后端默认运行在 `http://localhost:8080`
### 前端启动
```bash
cd shop-vue
npm install
npm run dev
```
前端默认运行在 `http://localhost:3000`
## 开发指南
### 添加新模块
1. 在 `src/main/java/com/mars/shop/modules/` 下创建新模块目录
2. 按照现有模块结构创建 controller、entity、service 等文件
3. 在 `shop-vue/src/api/` 下创建对应的 API 接口定义
4. 在 `shop-vue/src/views/` 下创建对应的页面组件
### API 接口规范
- GET 请求:用于查询操作
- POST 请求:用于创建操作
- PUT 请求:用于更新操作
- DELETE 请求:用于删除操作
- 响应格式:统一使用 Result 封装
```java
@GetMapping("/list")
public Result> list(ProductQueryDTO query) {
// ...
}
```
### 前端开发规范
- 使用 TypeScript 定义类型
- 使用 Pinia 进行状态管理
- 使用 Vue Router 进行路由管理
- 使用 Tailwind CSS 进行样式设计
## 项目文档
- **项目文档**:`doc/PROJECT_DOC.md`
- **启动指南**:`doc/STARTUP.md`
- **API 文档**:`doc/openapi.json`
## 贡献指南
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 开源协议
本项目基于 [MIT License](LICENSE) 开源。
## 联系作者
- **qq**: 2280739936
---
**如果这个项目对你有帮助,请给一个 Star 支持一下!**