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();
treeBuilder.toTree(menus);
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