一、项目简介
校园二手交易平台是一个基于 Spring Boot 的 web 应用,旨在为校园内的学生提供一个方便的二手物品交易平台。通过这个平台,学生可以发布自己的二手物品,浏览和购买其他同学的二手物品,实现资源的有效利用。
二、功能需求
- 用户注册和登录:平台需要支持用户注册和登录功能,保证交易的安全性。
- 物品发布:用户可以发布自己的二手物品,包括物品名称、描述、价格、图片等。
- 物品浏览和搜索:用户可以浏览所有发布的物品,也可以通过搜索功能查找自己感兴趣的物品。
- 物品购买:用户可以对感兴趣的物品进行购买,通过支付宝或微信支付完成交易。
- 个人信息管理:用户可以查看和修改自己的个人信息,包括昵称、联系方式等。
- 消息通知:当有人购买自己的物品或者有新的物品发布时,系统需要给用户发送通知。
三、技术选型 - 后端框架:Spring Boot,一个基于 Java 的开源框架,用于快速构建 Spring 应用程序。
- 前端框架:Vue.js,一个流行的 JavaScript 前端框架,用于构建用户界面。
- 数据库:MySQL,一个流行的关系型数据库管理系统,用于存储用户数据和物品信息。
- 支付接口:支付宝和微信支付接口,用于实现物品购买功能。
- 消息通知:短信服务提供商接口,用于发送消息通知。
四、项目结构 - 后端代码目录结构:
- src/main/java/com/example/secondhandmarket: 项目主包
- controller: 控制层代码,处理前端请求和返回数据。
- model: 数据模型层,定义了用户和物品的数据结构。
- service: 服务层代码,封装了与数据库交互的逻辑。
- application.properties: Spring Boot 配置文件。
- SecondHandMarketApplication.java: 主应用启动类。
- src/main/resources: 资源文件夹,包括数据库配置文件和其他资源文件。
- pom.xml: Maven 构建文件,定义了项目依赖关系。
- .gitignore: Git 忽略文件,指定哪些文件不应被提交到版本控制中。
- LICENSE: 开源许可证文件。
- README.md: 项目说明文件。
- 前端代码目录结构:
- src: 前端源代码文件夹
- main.js: 主入口文件,定义了全局变量和 Vue 实例。
- App.vue: 主应用组件。
- components: 组件文件夹,包括登录、注册、发布物品等组件。
- views: 页面文件夹,包括主页、个人中心、购买页面等。
- store: Vuex 状态管理文件夹,定义了全局状态和操作。
- router.js: Vue Router 配置文件,定义了路由规则。
- index.html: 前端入口文件。
- public: 静态资源文件夹,包括 CSS、图片等文件。
- package.json: npm 构建文件,定义了项目依赖关系和脚本命令。
- babel.config.js: Babel 配置文件,用于转译 ES6+ 语法为 ES5 语法。
- .gitignore: Git 忽略文件,指定哪些文件不应被提交到版本控制中。
- LICENSE: 开源许可证文件(如果有)。
- README.md: 项目说明文件(如果有)。
- 数据库设计:
- user 表: 存储用户信息,包括 id、username、password 等字段。
- item 表: 存储物品信息,包括 id、title、description、price、image 等字段。
- order 表: 存储订单信息,包括 id、user_id、item_id、price、status 等字段。
- message 表: 存储消息通知信息,包括 id、user_id、content、time 等字段。