# skiving-boot4 **Repository Path**: ruakuoluo/skiving-boot4 ## Basic Information - **Project Name**: skiving-boot4 - **Description**: 摸鱼开发平台boot4版本 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-11 - **Last Updated**: 2026-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: springboot4, sa-token, mybatis-flex, 工作流, 大屏设计 ## README # Skiving Boot 4 Project Introduction Skiving Boot 4 is an enterprise-grade backend management system scaffold built on Spring Boot. The project adopts a modular design, integrating core features such as permission control, multi-tenancy, report generation (supporting LuckySheet/Excel/Word), and file storage (supporting OSS). It is suitable for building complex business management systems. ## Core Features ### 1. Complete System Management * **User & Permissions**: Supports multidimensional management of users, roles, positions, and organizations, designed based on the RBAC (Role-Based Access Control) model. * **Multi-Tenancy Support**: Built-in Tenant management mechanism supporting data isolation, suitable for SaaS platform development. * **Menu Management**: Supports dynamic generation of frontend Vue routes. * **Log Audit**: Automatically records operation logs (based on the `@OperLog` annotation). ### 2. Powerful Reporting Center (report-starter) * **Online Report Design**: Integrates LuckySheet, supporting Excel-like online collaboration and report design. * **Multi-Datasource**: Supports various databases including MySQL, Oracle, PostgreSQL, SQL Server, ElasticSearch, InfluxDB, and MongoDB as report datasources. * **Data Entry**: Supports custom form submission processes. * **Dashboard Design**: Provides big screen dashboard template design functionality. * **Word Printing**: Supports Word template-based printing. ### 3. Flexible File Service (file-starter) * **Unified Interface**: Provides file upload, download, and management interfaces. * **Storage Strategy**: Supports switching between local file system storage and Aliyun OSS (Object Storage Service). ### 4. Security & Authentication (auth) * **Authentication Framework**: Lightweight permission authentication framework based on [Sa-Token](https://sa-token.dev/). * **Session Management**: Supports login, session management, user kicking out, and other functions. * **Captcha**: Integrates graphical captcha mechanisms. ## Tech Stack * **Core Framework**: Spring Boot * **ORM Framework**: Mybatis-Flex (Supports flexible SQL construction and code generation) * **Security Framework**: Sa-Token * **Database**: Relational Databases (MySQL etc.) + Redis (Cache/Distributed ID) * **Frontend Protocol**: Provides Vue Routes (AdminRouteVue) and RESTful API * **Report Engine**: LuckySheet, Apache POI * **File Storage**: Aliyun OSS ## Project Structure The project adopts a Maven multi-module structure. The main directories are as follows: ``` skiving-boot4 ├── admin-api # Public API Module: Defines interfaces, entity DTOs, global configurations ├── admin-server # Main Service Module: Contains core system management business logic (Controller/Service) ├── auth # Authentication Module: Login strategies, Token processing, permission interface implementation ├── common-utils # Utility Module: Common utility classes, exception definitions, result encapsulation ├── develop-starter # Development Enhancement Module: General form design, business custom extensions ├── file-api # File Interface Module ├── file-starter # File Service Module: Implements upload, OSS storage ├── mybatis-flex-codegen # Code Generator: Automatically generates Entity/Mapper/Service based on database tables ├── report-starter # Report Service Module: Report design, datasource configuration, online display └── workflow-api # Workflow Interface Module ``` ### Core Module Descriptions #### admin-server The core system service, containing the following main controllers and services: * `LoginController`: Login, logout, obtain user info and menus. * `SysUserController`: User CRUD, role and position assignment. * `SysTenantController`: Tenant management. * `GlobalExceptionHandler`: Global exception handling, unified Result structure return. #### report-starter An independent report service module that does not depend on the core business logic of `admin-server` and can be deployed or called independently. * `ReportTplController`: Excel/LuckySheet template management. * `JdbcService`: Cross-datasource SQL execution engine. * `ReportDashboardPageController`: Dashboard configuration. #### file-starter Encapsulates file operation details, switching storage methods through the Strategy Pattern (`FileStorageDao`). * `SysFileController`: Attachment management. * `OssFileStorageDaoImpl`: Aliyun OSS implementation. * `FsFileStorageDaoImpl`: Local file system implementation. ## Configuration Instructions The project typically contains an `application.yml` configuration file. The main configuration items are as follows: * **Database**: Database connection configuration. * **Redis**: Cache and distributed session configuration. * **SkivingCloud**: * `common`: Whether to enable multi-tenancy (`enabledTenant`). * `admin`: Password expiration strategy configuration (`PasswordExpired`). * `file`: File storage path configuration (`file.location`). ## Code Generator The project includes the `mybatis-flex-codegen` module for rapid development. * `MybatisFlexCodegen.java`: Configure database connection and package names then run; it can automatically generate Controller, Service, Entity, and Mapper code. * `VueElementTsGenerator`: Used to generate Vue3 + Element Plus compatible API and form code. ## License This project is open-sourced under the [LICENSE](LICENSE) agreement.