【万字文档+源码】 基于SpringBoot+Vue社区生鲜团购系统-可用于毕设-课程设计-练手学习-学习资料分享
基于 SpringBoot+Vue 社区生鲜团购系统
一、项目概述
1.1 项目背景
随着社区经济快速发展,社区生鲜团购模式成为居民日常采购果蔬生鲜的主流方式。传统生鲜购买渠道存在采购耗时、价格不透明、配送不便等问题。为打通生鲜供货商、社区团长、社区居民三者之间交易链路,搭建一套线上社区生鲜团购平台。
居民在线浏览生鲜商品、加入购物车、下单购买;社区团长负责自提点货物接收、通知居民取货;平台管理员统一管理商品、订单、团长、资讯等全部数据,实现生鲜团购业务线上规范化管理。
1.2 项目目标
面向居民用户:提供生鲜商品浏览、资讯查看、购物车、在线下单、订单管理整套线上购物流程;
面向社区团长:注册账号、管理自提点、接收团购货物、登记居民取货信息;
面向系统管理员:统一维护商品、商品分类、轮播图、资讯、用户、团长、订单、提货信息等后台数据;
实现前后端分离架构,界面简洁友好,生鲜行业视觉风格,分页查询、条件检索、增删改查、图片上传等基础功能全覆盖。
1.3 技术架构
后端技术栈
核心框架:SpringBoot 2.x
持久层框架:MyBatis / MyBatis-Plus
数据库:MySQL 8.0
工具:Lombok、Hutool、FileUpload 文件上传、Jackson 序列化
服务:Tomcat 内置容器
前端技术栈
核心框架:Vue2 / Vue3 + Vue CLI
UI 组件库:Element UI / Element Plus
路由:Vue Router
HTTP 请求:Axios
页面轮播:Swiper
页面样式:CSS、Less
架构模式
前后端分离架构
前端独立部署,负责页面渲染、交互;后端提供 RESTful API 接口,负责业务逻辑、数据持久化;前后端通过 JSON 格式完成数据交互。
1.4 用户角色划分
系统一共分为三大角色,权限相互隔离:
普通居民用户(前台用户):访问网站首页、商品列表、资讯、购物车、下单、个人订单管理;
社区团长:账号注册、自提点申请、查看接货信息、录入取货信息;
系统管理员(后台管理):最高权限,管理系统全部基础数据、商品、订单、用户、团长、资讯、轮播图。
二、系统功能需求分析
2.1 前台居民用户模块(网站前端页面)
参照截图页面:首页轮播、商品信息页、购物车、订单页面、登录注册页面
首页模块
顶部导航栏:首页、商品信息、商品资讯、购物车;
轮播图展示生鲜宣传图片;
商品推荐区域,展示生鲜商品缩略信息;
商品信息模块
分页展示全部生鲜商品;展示商品图片、商品名称、保质期、售价;
支持浏览商品详情,加入购物车;
商品资讯模块
- 展示生鲜科普、平台公告、活动资讯;
购物车模块
- 管理已加入购物车商品,修改数量、删除商品、结算下单;
订单管理模块
- 创建订单,支持查看订单;订单状态区分:未支付、已支付、已完成、已退款、已取消;
登录 & 注册
- 用户账号登录;新用户注册账号。
2.2 社区团长模块
团长注册:填写账号、密码、姓名、头像、联系电话、自提点名称完成注册;
自提点申请;
接货信息管理:查看居民团购订单,接收平台下发生鲜货物;
取货信息管理:居民到店取货后,登记取货记录。
2.3 管理员后台模块(后台管理系统)
参照后台截图左侧菜单栏,功能清单:
自提点申请管理
查看团长提交的自提点申请,审核处理;用户管理
管理平台居民账号信息,查询、编辑、删除用户;团长管理
维护全部社区团长信息,查看团长自提点信息;商品信息管理
商品信息:生鲜商品新增、修改、删除、分页查询、图片上传;
商品分类:搭建生鲜分类(蔬菜、水果等);
自提商品管理
接货信息:查看所有团购接单记录,支持条件检索、查看详情;
取货信息:管理居民取货登记数据;
商品资讯管理
资讯公告新增、编辑、删除、标题搜索;支持资讯配图上传;管理员管理
维护后台管理员账号;轮播图管理
维护首页前台轮播图片,新增、修改、删除轮播项;商品订单管理
查看平台全部用户订单;按照订单状态筛选(全部 / 未支付 / 已支付 / 已完成 / 已退款 / 已取消);支持订单编号检索。
三、数据库设计(核心数据表)
字段根据页面业务提炼核心字段
3.1 用户表 (user)【居民用户】
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键自增 |
| username | varchar | 登录账号 |
| password | varchar | 登录密码 |
| name | varchar | 用户姓名 |
| phone | varchar | 联系电话 |
| avatar | varchar | 头像地址 |
| create_time | datetime | 创建时间 |
3.2 团长表 (team_leader)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| username | varchar | 团长账号 |
| password | varchar | 密码 |
| name | varchar | 团长姓名 |
| avatar | varchar | 头像 |
| sex | varchar | 性别 |
| phone | varchar | 联系电话 |
| pick_name | varchar | 自提点名称 |
| status | int | 审核状态 |
3.3 管理员表 (admin)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| username | varchar | 管理员账号 |
| password | varchar | 密码 |
| name | varchar | 管理员名称 |
3.4 商品分类表 (goods_category)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| category_name | varchar | 分类名称(蔬菜类、水果类) |
3.5 商品信息表 (goods)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 商品 ID |
| goods_name | varchar | 商品名称 |
| category_id | bigint | 分类 ID |
| goods_img | varchar | 商品图片路径 |
| price | decimal | 商品单价 |
| shelf_life | varchar | 保质期 |
| stock | int | 库存数量 |
| create_time | datetime | 新增时间 |
3.6 购物车表 (shop_cart)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 居民用户 id |
| goods_id | bigint | 商品 id |
| num | int | 选购数量 |
3.7 订单表 (orders)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| order_no | varchar | 订单编号 |
| user_id | bigint | 下单用户 |
| total_price | decimal | 订单总价 |
| pay_type | varchar | 支付类型 |
| order_status | varchar | 订单状态:未支付 / 已支付 / 已完成 / 已退款 / 已取消 |
| receiver | varchar | 收货人 |
| phone | varchar | 收货人电话 |
| address | varchar | 收货 / 自提地址 |
| remark | varchar | 订单备注 |
| create_time | datetime | 下单时间 |
3.8 订单明细表 (order_item)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| order_id | bigint | 订单 id |
| goods_id | bigint | 商品 id |
| num | int | 购买数量 |
| price | decimal | 成交单价 |
3.9 轮播图表 (swiper)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| title | varchar | 轮播名称 |
| img_url | varchar | 图片地址 |
| sort | int | 排序 |
3.10 商品资讯表 (goods_news)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| title | varchar | 资讯标题 |
| content | text | 资讯正文 |
| img_url | varchar | 资讯配图 |
| create_time | datetime | 发布时间 |
3.11 接货信息表 (receive_goods)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| leader_id | bigint | 团长 id |
| pick_name | varchar | 自提点名称 |
| goods_id | bigint | 商品 id |
| goods_name | varchar | 商品名称 |
| category_name | varchar | 商品分类 |
| num | int | 商品数量 |
| user_id | bigint | 下单用户 id |
| user_name | varchar | 用户姓名 |
| receive_time | datetime | 接货时间 |
3.12 取货信息表 (pick_goods)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| receive_id | bigint | 关联接货记录 id |
| pick_time | datetime | 居民取货时间 |
四、系统模块详细设计
4.1 用户登录注册模块
前台居民登录:输入账号密码校验,登录成功跳转首页;未登录无法加入购物车、下单;
团长注册:填写表单信息提交,等待管理员审核;
后台管理员登录:选择用户类型【管理员】,账号密码登录进入后台管理主页;
密码加密存储,支持记住密码、退出登录、修改密码功能。
4.2 前台商品浏览模块
首页加载轮播图、推荐商品;
商品信息页面分页加载所有生鲜商品,展示图片、名称、保质期、售价;
用户点击商品查看详情,加入购物车;
4.3 购物车与订单模块
登录用户可以将商品加入购物车;
购物车勾选商品进行结算,生成订单;
订单状态流转:未支付 → 已支付 → 已完成;支持退款、取消操作;
用户前台可根据状态筛选订单;管理员后台查看全站所有订单。
4.4 团长自提业务流程
团长注册 → 提交自提点申请;
居民下单生鲜商品,订单流转至对应自提点团长;
团长在【接货信息】查看需要接收的生鲜货物;
居民前往自提点提货,团长登记【取货信息】,完成整个团购闭环。
4.5 后台基础数据管理
轮播图管理:管理员上传图片维护前台首页轮播;支持新增、修改、删除;
资讯管理:发布生鲜公告、行业资讯,前台用户可以浏览;支持标题搜索;
商品分类与商品管理:先建立分类,再录入生鲜商品,上传商品图片,维护保质期、价格;
人员管理:统一管理居民用户、社区团长、后台管理员账号;
五、系统运行流程
居民访问前台首页,浏览生鲜商品与资讯;
未登录先完成账号注册、登录;
将心仪生鲜加入购物车,结算生成订单;
平台将订单分配至对应社区自提点团长;
团长接收货物,等待居民上门自取;
居民到达自提点取货,团长登记取货信息;
管理员在后台实时监控所有商品、订单、团长、用户数据,维护平台基础信息。
六、系统界面说明
前台页面
首页:顶部导航栏 + 生鲜轮播横幅 + 商品推荐区;
商品信息页面:网格布局展示所有生鲜商品,分页控件;
前台登录页面:浅蓝色简约卡通登录表单,支持注册用户;
购物车 / 订单页面:订单状态标签筛选(全部、未支付、已支付、已完成、已退款、已取消)。
后台管理页面
管理员登录页面:海景背景,下拉框选择用户类型(管理员 / 团长);
后台主布局:左侧菜单栏、顶部标签栏、右侧数据表格;渐变紫色风格;
各个管理页面统一风格:表格展示数据,提供新增、修改、删除、详情、搜索按钮;
团长注册页面:表单录入团长信息、上传头像。
七、部署环境
操作系统:Windows / Linux CentOS
JDK 版本:JDK1.8
数据库:MySQL 8.0
项目打包:后端 SpringBoot 打成 Jar 包;Vue 前端打包 dist 静态资源;
服务器:Tomcat / Jar 内置容器、Nginx(可选,反向代理前端)
八、系统特点总结
角色权限清晰:居民、团长、管理员三级权限,业务分工明确,贴合社区生鲜团购真实业务;
前后端分离 SpringBoot+Vue 主流技术栈,适合课程设计、毕业设计、小型商用开发;
完整生鲜业务闭环:商品上架→用户下单→团长接货→居民自提;
基础功能完善:图片上传、分页查询、多条件搜索、订单状态管理、资讯公告、轮播管理;
双端页面:面向客户的前台展示网站 + 面向运营的后台管理系统;
UI 界面美观,区分前台清新生鲜风格、后台管理系统深色渐变风格。
九、项目资料
👇🏻 精彩专栏推荐订阅👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
《微信小程序合集》