基于 SpringBoot + Vue 在线点餐系统(前后端分离)

大家好,今天给大家带来一个超级简单的**在线外卖点餐项目。**大家可用学习下系统的设计和源码风格。

视频演示

在线点餐系统

图片演示

技术栈

后端

技术框架:JDK8+SpringBoot2

数据库:Mysql8

用户token: JWT

用户菜单权限管理 : shiro

聊天: websocket

前端

  • Vue.js 2.5.2 - 主要的前端框架

  • Vue Router 3.0.1 - 单页面应用路由管理

  • Vuex 3.1.1 - 状态管理

UI 组件库

  • Element UI 2.9.1 - 基于 Vue 的桌面端组件库,提供丰富的 UI 组件

网络请求

  • Axios 0.19.0 - HTTP 客户端,用于与后端 API 通信

  • JWT Decode 2.2.0 - JWT token 解析

实时通信

  • WebSocket - 实现实时聊天功能和订单通知

系统功能概述

整个系统分为管理平台和商家,用户端。

商家端

商家入驻: 相当于注册商家,商家提供手机号,营业执照等信息既可以入驻成为商家。

**商家登录:**通过店铺名称和密码进行登录。

菜单管理: 可以修改,上架,删除店铺内的菜品。菜品分为"主食","饮料","小吃"三大类。

评论管理: 可以显示用户对店铺的评论列表,每个评论支持商家二次回复。多次回复,以树形形式展示。

**订单管理:**可以查看用户下单的订单,然后对订单进行接单等操作。订单的状态分为"未完成","待评价","已完成","已取消"。

**店铺管理:**店铺管理又分为"店铺资料","历史订单","顾客互动","修改密码","账号设置"。

店铺资料: 可以查看 店铺姓名,联系方式,店铺地址,店主姓名,店主邮箱,评分0 分。

历史订单: 可以查询到店铺内所有的历史订单,支持商品名称 关键字进行模糊搜索。

**顾客互动:**以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

修改密码: 支持修改店铺的登录密码。

账号设置: 修改店铺信息。

用户端

用户注册: 用户通过用户名,密码,手机号进行注册成为平台用户。

**用户登录:**通过用户名和密码进行登录。

外卖服务: 显示平台内所有正常商家的店铺,每个店铺以卡片的形式展示,字段有:"店铺图","店铺名称","店铺评分"。

店铺点餐: 点击某个店铺后,会展示店铺内所有上架的菜品。菜品按"主食","饮料","小吃"进行分类显示。还可以进行商品名称搜索。

用户选中好菜品后,可以进行加入购物车和直接购买下单。

**联系客服:**用户进入店铺,可以点击左边的联系,与商家进行在线实时沟通。以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

**订单管理:**可以查看用户下单的订单,然后对订单进行接单等操作。订单的状态分为"未完成","待评价","已完成","已取消"。

**个人中心:**个人中心又分为"个人资料","历史订单","店家互动","修改密码","账号设置"。

历史订单: 可以查询到用户所有的历史订单,支持商品名称 关键字进行模糊搜索。

商家互动: 与商家进行聊天。以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

修改密码: 支持修改店铺的登录密码。

账号设置: 修改用户信息。

管理平台

用户管理: 支持对平台内用户进行查询,删除,修改,编辑等。

**商家管理:**支持对平台内商家进行查询,删除,修改,编辑等。

**订单管理:**支持订单按用户,商家等关键词进行搜索。

系统日志: 记录商家的入驻,登录。用户的注册,登录等详细信息日志。

系统部署

执行sql

用户需要自己安装好mysql数据库,注意,必须是mysql8 ,否则代码运行会出错。

然后用navicate等连接工具,连接到mysql服务,然后新建一个 hadluo-takeout 数据库, 然后执行 "hadluo-takeout.sql" 里面的表创建和数据导入。

前端部署

管理端部署

前端的项目必须没有中文,否则启动会报错!!

安装node , 版本:v14.21.3 , 安装完成后。 进入到项目 hadluo-admin-vue目录下,这个项目是vue的管理平台, 右键,运行cmd,运行下面命令:

npm run dev

由于我已经跟你npm install好了,所以你无需执行,直接run就可以了!!

用户端部署

然后进入到项目 hadluo-vue目录下,这个项目是vue的用户+商家端, 右键,运行cmd,运行下面命令:

npm run dev

由于我已经跟你npm install好了,所以你无需执行,直接run就可以了!!

到此前端项目部署完成。

启动后端项目

将maven设置的settings.xml改成你自己的配置。

然后刷新maven,等待项目下载依赖包完成。。。。。

然后部署后端 , 打开idea, 导入maven工程 hadluo-server。

打开resources目录, 修改 application.yml 配置文件,主要修改下面几个信息:

数据库信息:

复制代码
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/wxhadluo-fresh?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
    username: root
    password: qq123456

然后启动 main 启动类 :TakeoutApplication.class

浏览器访问

管理后端:http://localhost:8082/

管理员的账号密码 : admin/123456

用户+商家端:http://localhost:8081/

注意用户和商家端 的浏览器不能是同一个,否则会串token数据。

相关推荐
uzong3 小时前
技术故障复盘模版
后端
GetcharZp3 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
桦说编程4 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研4 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
一只爱撸猫的程序猿5 小时前
使用Spring AI配合MCP(Model Context Protocol)构建一个"智能代码审查助手"
spring boot·aigc·ai编程
甄超锋5 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Jimmy5 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
草梅友仁5 小时前
草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报
vue.js·github·nuxt.js