Simple background management system

Project introduction

1. Definition of demand: Outsourcing projects mushroomed, forcing the development period to be compressed. In order for developers to focus on the development of project business, they can leave work early to accompany their wives and children. 3. Project features: This project is a single background management system built by Springboot + Layuiadmin with clear code and simple interface.Copy the code

The project address

Software architecture

  • Core framework: Spring Boot
  • Authority framework: SpringSecurity
  • Template engine: Thymeleaf
  • Persistence layer framework: Mybatis-Plus
  • Log management: LogBack
  • Tool classes: Apache Commons, Hutool
  • View framework: Spring MVC
  • Workflow: Activiti6
  • Timer: Quartz
  • Database connection pool: Druid
  • Page interaction: layuiAdmin
  • Validation framework: Hibernate-Validation
  • Interface document: Swagger

Environmental requirements

JDK >= 1.8
MySQL >= 5.7
Maven >= 3.0
Copy the code

Directions for use

1. Control layer interface version management, wrapper response Result return value for global processing, using @responseresultBody annotation 2. Define the interface version and configure @apiVersion annotation 3 in the method. Skip JWT security authentication and add @passtoken annotation 4. Use the @crudlog annotation to log system errors to the databaseCopy the code
@preauthorize ("hasAuthority(' permissions ')") // Java code SEC :authorize="hasAuthority(' permissions ')Copy the code
6. Obtain the userId of the token passed by the headerCopy the code
 Long userId = ApiContext.getUserId();
Copy the code
7. List converts the tree structureCopy the code
 ListToTree treeBuilder = new ListToTreeImpl();
Copy the code
8. Send the verification codeCopy the code
Sampleemail.sample (email address, title, content);Copy the code
9. Upload files to the OSSCopy the code
Sampleoss.upload (file stream, custom upload path);Copy the code
10. Send text messagesCopy the code
SampleSms. SendSms (phone number, template number, signature);Copy the code
11. Dictionary renders LayuiCopy the code
Layui.config ({base: '/static/layuiadmin/' // static resource path}).extend({index: Use (["crud"],function(){let crud = layui.crud; // Get enumeration crud.getDictValue(' dictionary type ', enumeration value); // radio assignment crud.setRadio("id node "," dictionary type "," default "); // select assignment crud.setSelect("id node "," dictionary type ",' default '); })Copy the code

Project Operation screenshot

Login account: admin Password: 123456Copy the code

Home pageCopy the code

User Management moduleCopy the code

Role Management moduleCopy the code

Menu management moduleCopy the code

Swagger interface documentationCopy the code

Druid Monitoring account: admin Password: adminCopy the code

Timing taskCopy the code

workflowCopy the code

Log managementCopy the code

The dictionary managementCopy the code