Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

项目介绍

David's Github

基于Springboot + Vue 开发的前后端分离外卖点单系统

项目说明|目录结构|项目特点|技术选型|开发环境|项目截图|快速开始|注意事项|项目总结|如何反馈

如何反馈

项目说明

您的star是我坚持的动力,感谢大家的支持,欢迎提交pr共同改进项目。

目录结构

后台前端项目位于renren-ui下

小程序前端项目位于takeout_mp下

SQL文件位于根目录下的takeout_mysql8.sql,需要MYSQL8以上版本。

ps:请先运行后端项目,再启动前端项目。

take_out
│ 
├─renren-admin      美食元素后台管理后端服务
│    │
│    │ 
│    ├─modules  模块
│    │    ├─job 定时任务
│    │    ├─log 日志管理
│    │    ├─oss 文件存储
│    │    ├─security 安全模块
│    │    ├─sys 系统管理(核心)
|    |    └─takeout 外卖业务模块(核心)
│    │ 
│    └─resources 
│        ├─mapper   MyBatis文件
│        ├─public  静态资源
│        └─application.yml   全局配置文件
│       
│ 
├─renren-api        美食元素小程序后端服务
│ 
├─renren-common     公共模块
├─renren-generator  代码生成器
│        └─resources 
│           ├─mapper   MyBatis文件
│           ├─template 代码生成器模板(可增加或修改相应模板)
│           ├─application.yml    全局配置文件
│           └─generator.properties   代码生成器,配置文件
│
├─renren-ui     美食元素后台管理Vue前端项目
├─takeout_mp    uniapp微信小程序项目

项目特点

  • 友好的代码结构及注释,便于阅读及二次开发
  • 实现前后端分离,通过token进行数据交互
  • 支持动态权限修改,采用RBAC模型,前端菜单和后台权限实时更新。
  • 提供CrudService接口,对增删改查进行封装,代码更简洁
  • 页面交互使用Vue2.x,极大的提高了开发效率
  • 完善的部门管理及数据权限,通过注解实现数据权限的控制
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务
  • 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
  • 引入Hibernate Validator校验框架,轻松实现后端校验
  • 引入云存储服务,已支持:七牛云、阿里云、腾讯云等
  • 引入swagger文档支持,方便编写API接口文档
  • 新增AOP注解实现日志管理。
  • 代码遵循阿里巴巴开发规范,利于开发者学习。

技术选型

  • 核心框架:Spring Boot 2.7.1
  • 安全框架:Apache Shiro 1.9
  • 持久层框架:MyBatis 3.5
  • 定时器:Quartz 2.3
  • 数据库连接池:Druid 1.2
  • 日志管理:Logback
  • 页面交互:Vue2.x
  • 微信小程序:uni-app

开发环境

开发工具说明
IDEAJava开发工具IDE
WebStrom或者VS CodeVue开发工具IDE
NavicatMySQL远程连接工具
Another Redis Desktop ManagerRedis远程连接工具
FinalShellLinux远程连接工具
HBuilder X编译微信小程序工具
开发环境版本
JDK1.8
MySQL8.0.29
Redis6.0.5
Maven3.8
NodeJs14.x.x

项目截图

image image image image image image image

image

image

快速开始

准备工作(IDE、小程序测试号、环境等)

注册小程序测试账号

安装Minio(如果你用阿里云、腾讯云、七牛云可以忽略此步骤,直接看文件上传配置那一步)

  • 虚拟机或者云服务器用docker拉取Minio镜像

    docker pull minio/minio

    安装镜像

  • docker run \
    --name minio \
    -p 9000:9000  \
    -p 9090:9090  \
    -d --restart=always \
    -e "MINIO_ROOT_USER=minio" \
    -e "MINIO_ROOT_PASSWORD=minio123" \
    -v /opt/docker_minio/data:/data \
    -v /opt/docker_minio/config:/root/.minio \
    minio/minio server  /data --console-address ":9090" --address ":9000"
  • 登录(这里的ip地址填自己的就可以了)

    页面地址 http://192.168.65.100:9090/login

  • 创建一个名字为images的桶

    image

    image image

安装Nodejs环境(如果有请忽略)

运行后台管理系统后端项目

  • 通过git下载源码

  • idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法

  • 创建数据库takeout,数据库编码为UTF-8mb4

  • 执行takeout_mysql8.sql文件,初始化数据

  • 打开application-dev.yml文件,修改MySQL账号和密码、Redis的相关配置信息

  • 在renren-api模块下,打开application.yml文件,修改微信小程序appid和secret配置

    weixin:
      appid:
      secret:
    
  • 在takeout目录下,执行mvn clean install

  • Eclipse、IDEA运行AdminApplication.java,则可启动项目【renren-admin】

运行后台管理系统前端项目

  • 配置好Nodejs环境之后就可以用WebStorm或者VsCode打开renren-ui文件夹(后台管理前端源代码)

  • 打开终端输入

    npm install
    

    等待安装依赖完成后,输入

    npm run serve
    

    等待编译完成后,会自动打开页面,或者访问 http://localhost:8001/

    • 账号密码:admin/admin

安装以及修改HBuilder X配置以及微信开发者工具配置

启动微信小程序项目

  • 完成了以上配置之后就可以启动小程序项目了

    image

文件上传配置

  • 在后台管理系统里直接更改配置
  • image

注意事项

  • 如果使用minio存储文件,需要先安装好minio
  • 如果要运行小程序,需要先提前申请一个小程序开发测试账号

项目总结

这个作为新手入门项目是十分不错的,项目所用的技术栈覆盖的也比较广,适合初学者学习。做的不好的地方请大家见谅,有问题的或者有好的建议可以私聊联系我。

关于 About

基于SpringBoot + Vue 开发的前后端分离外卖点单系统,采用Shiro进行权限管理,使用uni-app开发微信小程序,支持微信登录、Redis缓存、quartz定时、导出数据等功能。
easypoiminiomybatis-plusmysqlquarzredisshirospring-bootuniappvue

语言 Languages

Java54.2%
Vue42.6%
SCSS3.2%
Dockerfile0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
0
Total Commits
峰值: 1次/周
Less
More

核心贡献者 Contributors