跳至正文

一个基于 Vue3 + Spring Boot 的失物招领平台

Gitee项目地址:https://gitee.com/qinl1024/find-item

1. 项目概述

寻物网站(Find Item)是一个基于 Vue3 + Spring Boot 的失物招领平台,旨在帮助校园、社区或企业内部的失物招领管理。该项目采用前后端分离架构,提供完整的用户前端和管理后台,支持失物发布、寻物启事、物品匹配、留言互动等核心功能。

1.1 项目特点

·开源免费:MIT 许可证,可自由使用和二次开发

·前后端分离:Vue3 + Spring Boot 架构,易于维护和扩展

·响应式设计:支持 PC 端管理后台和移动端 H5 页面

·安全可靠:JWT 认证 + Spring Security 双重保障

·功能完整:涵盖失物招领全流程管理

·易于部署:标准化的项目结构,快速上手

2. 技术栈

2.1 前端技术

技术说明
Vue 3新一代 Vue.js 框架,Composition API
Vite下一代前端构建工具,极速开发服务器启动
Element Plus基于 Vue3 的组件库
Vue RouterVue.js 官方路由管理器
PiniaVue.js 新一代状态管理库
Axios基于 Promise 的 HTTP 客户端

2.2 后端技术

技术说明
Spring Boot 2.7.18快速应用开发框架
MyBatis Plus强大的 ORM 持久层框架
Spring Security安全认证框架
JWT无状态身份认证
MySQL 8.0关系型数据库
Redis缓存数据库
HutoolJava 工具类库
Lombok简化 Java 代码

3. 项目结构

项目采用模块化设计,各模块职责清晰:

find-item/
├── find-item-vue          # 管理后台前端 (Vue3 + Element Plus)
├── find-item-h5           # 移动端 H5 页面 (Vue3 + Vant 4)
├── find-item-web          # 后端项目 (Spring Boot + MyBatis Plus)
└── find-item-sql          # 数据库脚本

3.1 模块说明

·find-item-vue:管理后台前端,提供完整的后台管理界面,包括物品管理、用户管理、系统配置等功能

·find-item-h5:移动端 H5 页面,支持手机浏览器访问,提供用户端功能

·find-item-web:后端服务项目,提供 RESTful API 接口,处理业务逻辑和数据持久化

·find-item-sql:数据库初始化脚本,包含表结构定义和基础数据

4. 功能模块

4.1 前台用户功能

·首页展示失物/寻物信息列表

·支持关键词搜索和条件筛选

·用户注册与登录(支持 JWT 认证)

·发布失物招领信息

·发布寻物启事

·查看物品详细信息

·在线留言互动

·查看系统通知和反馈回复

4.2 后台管理功能

·控制台概览(统计数据展示)

·物品信息管理(增删改查)

·用户管理(启用/禁用、角色分配)

·角色权限管理

·菜单权限配置

·系统通知管理

·用户反馈处理

·操作日志查看

5. API 接口

项目提供 RESTful 风格的 API 接口:

接口方法描述
/api/auth/loginPOST用户登录
/api/auth/registerPOST用户注册
/api/items/listGET获取物品列表
/api/items/{id}GET获取物品详情
/api/itemsPOST发布物品
/api/items/{id}PUT更新物品
/api/items/{id}DELETE删除物品
/api/items/hotGET获取热门物品
/api/commentsGET获取留言列表
/api/commentsPOST发布留言
/admin/users/listGET获取用户列表
/admin/users/{id}PUT更新用户信息
/admin/users/{id}/statusPOST切换用户状态
/admin/rolesGET获取角色列表
/admin/menusGET获取菜单列表

6. 数据库设计

主要数据库表:

表名描述
users用户表 - 存储用户账号、角色等信息
lost_items失物招领物品表 - 存储失物/寻物信息
comments留言表 - 存储用户留言评论
roles角色表 - 存储系统角色信息
menus菜单表 - 存储系统菜单权限
role_menu角色菜单关联表
notifications系统通知表
user_notification用户通知关联表
feedback用户反馈表
operation_log操作日志表
system_config系统配置表
files文件上传记录表

7. 快速开始

7.1 环境要求

·JDK 8+

·Maven 3.6+

·Node.js 16+

·MySQL 8.0+

·Redis (可选)

7.2 安装步骤

步骤 1:数据库初始化

mysql -u root -p < find-item-sql/find-item-database.sql

步骤 2:启动后端

cd find-item-web
mvn spring-boot:run

步骤 3:启动前端

cd find-item-vue
npm install
npm run dev

访问地址:http://localhost:3000
默认管理员账号:admin / admin123

8. 开源协议

本项目采用 MIT 开源协议。MIT 协议是最宽松的开源协议之一,允许用户自由使用、复制、修改、合并、发布、分发、再授权和/或销售本软件的副本。

9. 项目亮点

·完整的业务闭环:从失物发布到认领,全流程覆盖

·权限体系完善:基于 RBAC 的权限管理,支持角色和菜单权限

·用户体验优秀:响应式界面设计,操作流畅

·代码质量高:遵循编码规范,注释清晰

·文档齐全:提供详细的 README 和启动指南

·易于扩展:模块化设计,便于功能扩展

9. 系统截图

PC端首页及管理图片图片图片图片

草原编程

邀请你前往腾讯公益一起捐

让困境学生安心读书

一起捐

收录于优选开源项目

阅读 4

开源项目部署教程

👁 阅读量:20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

扫码分享本文 分享二维码