Jeebase

Project introduction

Jeebase is an open source development framework that separates the front and back ends. It is developed based on Springboot + VUE (Vue-element-Admin), and the react front-end framework Ant Design React will be integrated in the second phase. In practical application, this framework has been used to develop CMS website system, community forum system, wechat small program, wechat service number, etc., which will be gradually sorted out and open source. The main purpose of this project is to integrate the mainstream technology framework, find and apply the best project practices, and realize the rapid development framework that can be directly used.

Making: github.com/wmz1930/Jee…

Gitee: gitee.com/wmz1930/Jee…

Software architecture

  1. Use Spring Boot + MyBatis + MyBatis -plus + Shiro + Jwt + Druid + J2Cache + Ehcache + Redis + Vue2 + ElementUI + Open source frameworks such as Swagger2
  2. File upload using Qiuniuyun, send SMS using Ali Cloud
  3. The RBAC model was used for permission design, Shiro related implementation was rewritten, and the front and back end separation function was realized with Jwt.
  4. J2Cache is used to realize the second-level cache, which is convenient for switching between small project single deployment and large project distributed deployment, of course, mainly for performance consideration.
  5. Using MyBatis-Plus to achieve the generation of background band code and simplify the preparation of related SQL code.
  6. The front-end uses the open source front-end framework vue-element-admin, on which the background configuration menu and permissions are realized.

Functional specifications

  1. The front and back ends are separated, and the menu permission uses vue-element-admin native method and background resource configuration
  2. Support permission control to button, naming rules refer to shiro permission label
  3. Privileges using role-based privileges control RBAC model, using Shiro + JWT scheme, you can control to menus, buttons.
  4. Support data permission control, using AOP+ Mybatis plug-in to dynamically modify the execution statement
  5. Scheduled task Considering distributed deployment, xxl-job is used
  6. System logs use the ELK deployment architecture of the distributed real-time log analysis solution

Directory description

  1. Jeebase-service Java background service code
  2. Jeebase-vue vue-element-admin 3.x version of the back-end management front-end page code
  3. Jeebase-vue-v2 VUe-element-admin 4.x version of the back-end management front-end page code
  4. Jeebase -wechat small program and front-end page code of wechat service number
  5. Jeebase-wechat/Jeebase-Vant The front-end page code of wechat service number with Favorable Vant as the front-end framework
  6. Jeebase-wechat/Jeebase-color Front-End page code of wechat small program with color as front-end framework (Because vant’s small program front-end framework is too intrusive, so I choose ColorUI as front-end framework)

Program interface

I. wechat mini program interface

Home page