项目简介

社区团购平台是一套面向社区居民的在线拼团购物系统,支持用户浏览商品、发起或参与团购活动、购物车下单、收货地址管理及订单跟踪,同时提供完整的管理后台,供管理员对商品、活动、订单、用户及公告进行统一管理。


核心功能

用户端

功能 说明
注册 / 登录 账号密码注册,Token 鉴权登录
商品浏览 按分类筛选商品,查看商品详情及当前团购活动
购物车 添加/修改/删除购物车商品,支持批量勾选下单
提交订单 选择收货地址,一键生成订单
收货地址 新增、编辑、删除地址,支持设为默认地址
我的订单 查看历史订单及订单状态
平台公告 首页展示最新平台公告

管理端

功能 说明
数据概览 Dashboard 展示用户数、商品数、订单数等核心指标
用户管理 查询用户列表,启用/禁用账号
分类管理 新增、编辑、删除商品分类
商品管理 新增、编辑商品,上传封面图,上下架管理
团购活动 创建团购活动,绑定商品,设置团购价与成团人数
订单管理 查看全部订单,手动更新订单状态
公告管理 发布、编辑、删除平台公告

技术栈

后端

技术 版本 说明
Java 1.8 开发语言
Spring Boot 2.7.18 核心框架
MyBatis 2.3.1 ORM 持久层
MySQL 8.x 关系型数据库
Token 鉴权 自实现 基于请求头的轻量 Token 方案

前端

技术 版本 说明
Vue 2.7.16 前端框架
Vue Router 3.6.5 路由管理
Axios 1.7.2 HTTP 请求库
Vue CLI 5.0.8 脚手架与构建工具

项目结构

c217/
├── backend/                        # Spring Boot 后端
│   ├── src/main/java/com/community/groupbuy/
│   │   ├── GroupBuyApplication.java
│   │   ├── common/                 # 通用工具:Token、鉴权拦截器、全局异常等
│   │   ├── config/                 # Spring MVC 配置(CORS、拦截器注册)
│   │   ├── controller/             # REST 接口层(Admin / User / Public / Auth)
│   │   ├── dto/                    # 请求参数对象
│   │   ├── entity/                 # 数据库实体
│   │   ├── mapper/                 # MyBatis Mapper 接口
│   │   └── service/                # 业务逻辑层
│   └── src/main/resources/
│       └── application.yml         # 配置文件
├── frontend/                       # Vue 2 前端
│   ├── src/
│   │   ├── api/                    # 接口请求封装
│   │   ├── components/             # 公共组件(布局、弹窗)
│   │   ├── router/                 # 路由配置
│   │   ├── styles/                 # 全局样式
│   │   └── views/
│   │       ├── admin/              # 管理后台页面
│   │       └── user/               # 用户端页面
│   └── vue.config.js               # 开发代理配置
└── sql/
    ├── community_group_buy.sql          # 建库建表 + 基础数据
    └── community_group_buy_rich_data.sql # 丰富演示数据(需先执行上面的脚本)

数据库设计

数据库名:community_group_buy

表名 说明
sys_user 系统用户(含管理员与普通用户,role 字段区分)
category 商品分类
product 商品(含分类、价格、库存、封面图)
group_activity 团购活动(绑定商品,含团购价、成团人数、有效期)
cart_item 购物车(用户 + 商品唯一约束)
user_address 用户收货地址(支持多地址、默认地址)
group_order 订单主表(含收货人快照、订单状态)
group_order_item 订单明细(含商品名称快照、成交价)
announcement 平台公告(含草稿/已发布状态)

启动教程

环境准备

  • JDK 1.8

  • Maven 3.6+

  • Node.js 16+

  • MySQL 8.x

数据库初始化

  1. 启动 MySQL,在客户端执行:

source /path/to/sql/community_group_buy.sql
  1. 如需导入演示数据,再执行:

source /path/to/sql/community_group_buy_rich_data.sql

后端启动

  1. 打开 backend/src/main/resources/application.yml,按实际情况修改数据库用户名和密码:

spring:
  datasource:
    username: root
    password: root
  1. backend/ 目录下执行:

mvn spring-boot:run

服务启动后监听 8080 端口。

前端启动

frontend/ 目录下执行:

npm install
npm run serve

浏览器访问 http://localhost:8081

默认账号

账号 密码 角色
admin 123456 管理员
user01 123456 普通用户

开发作者

  • 作者:Jay

  • 定制联系:vx Jay8059

  • 开发日期:2026 年

更多推荐