基于 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数据。

相关推荐
Q_Q196328847519 小时前
python+uniapp基于微信小程序的助眠小程序
spring boot·python·小程序·django·flask·uni-app·node.js
长空任鸟飞_阿康19 小时前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·vue.js·人工智能
摇滚侠19 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
摇滚侠19 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
十年小站19 小时前
一、新建一个SpringBoot3项目
java·spring boot
PFinal社区_南丞19 小时前
构建可维护的正则表达式系统-pfinal-regex-center设计与实现
后端·php
Imnobody19 小时前
吴恩达 Prompt 工程课精讲②:写出高可靠 Prompt 的2大黄金法则
后端
yuuki23323319 小时前
【C语言】程序的编译和链接(基础向)
c语言·后端
梅小西爱学习19 小时前
线上CPU飙到100%?别慌,这3个工具比top快10倍!
java·后端·cpu
radient20 小时前
属于Agent的课本 - RAG
人工智能·后端·程序员