# SmartAdmin: a Spring Boot and Vue 3 admin platform built around code standards

> SmartAdmin is a Chinese rapid-development platform pairing Spring Boot 2/3 with Vue 3 and Ant Design Vue, aimed at teams that need an admin backend with login hardening, encryption and code generation. Its real selling point is the published frontend and Java conventions, not the feature list.

**1024-lab/smart-admin** — SmartAdmin国内首个以「高质量代码」为核心，「简洁、高效、安全」快速开发平台；基于SpringBoot2/3 + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design Vue 4.x (同时支持JavaScript和TypeScript双版本)；满足国家三级等保要求、支持登录限制、接口数据国产加解密、高防SQL注入等一系列安全体系。

- Repository: https://github.com/1024-lab/smart-admin
- Website: https://smartadmin.vip
- Stars: 3,887 · Forks: 1,004
- Language: Java
- License: MIT
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/1024-lab-smart-admin

## What SmartAdmin actually solves, and for whom

Most admin backends are assembled from the same parts: user, role, menu, permission, logs, dictionary, file upload, code generator. SmartAdmin ships those parts already wired, and the README is explicit that the project deliberately omits features it considers filler. It states the team shares "不是徒劳无功的各种功能，而是必须有的功能", listing data change records, system documentation, version history, feedback, logs, heartbeat and an order-number generator as examples.

The audience is a Java team building an internal or customer-facing admin console, most likely in the Chinese market. The security section is the clearest signal: the README claims compliance with the national 三级等保 (Level 3 Classified Protection) requirements and the Data Security requirements, and lists two-factor login, password encryption, password complexity rules, login failure lockout, session timeout, and data masking. Interface encryption covers both request parameters and response bodies, with support for Chinese national cryptographic algorithms as well as foreign ones.

There is also a mobile track. The smart-app directory holds a uniapp (Vue 3) client using uni-ui, targeting APP, mini-program and H5 from one codebase. If your project only needs a desktop console, that directory is weight you will not use.

## The dual-branch architecture and the four-layer backend

The repository layout is the architecture. At the top level you find smart-admin-api-java17-springboot3/, smart-admin-api-java8-springboot2/, smart-admin-web-javascript/, smart-admin-web-typescript/, smart-app/ and 数据库SQL脚本/. These are parallel implementations, not modules of one build. A team picks one backend branch and one frontend branch.

On the backend, the README describes a four-layer structure: controller, service, manager and dao. The manager layer is the unusual part. In most Spring Boot projects the service layer absorbs orchestration, caching and third-party calls until it becomes unreadable. Splitting manager out gives a place for cross-cutting coordination that does not belong in either the HTTP boundary or the persistence boundary. Whether that pays off depends on discipline: a four-layer structure that is not enforced by review degrades into a four-layer structure that is ignored.

The frontend carries its own conventions. The README names vue-enum as the mechanism for keeping constants out of components, describes five environment configuration files (local, development, test, pre-release, production), and claims a specific main.js router loading approach. The backend mirrors this with Maven profiles for development, test, pre-release and production, and a mechanism called smart-reload that the README describes as a reserved hook for dynamically loading code without restarting the process.

Database support is broad and split into two groups. Domestic databases listed are 达梦, 金仓, 南大通用, 海量数据, 神州通用, OceanBase, GaussDB, PolarDB and GoldenDB. Mainstream databases listed are MySQL, PostgreSQL, SQL Server and Oracle. The 数据库SQL脚本/ directory is where the schema scripts live, and it is the first thing to inspect before committing, because dialect differences in these databases are not cosmetic.

## Installing SmartAdmin and getting to a first running page

The README does not contain a step-by-step install guide. It points to the official documentation at https://smartadmin.vip, and provides two live previews: https://preview.smartadmin.vip for the desktop console and https://app.smartadmin.vip for the mobile client. Treat the documentation site as the install source; the repository README is a feature and philosophy document.

What the repository does tell you is the shape of the setup. You clone the project, choose one backend directory and one frontend directory, run the SQL scripts from 数据库SQL脚本/ against your database, then start each side. The backend is a Maven project, so the standard lifecycle applies:

```bash
cd smart-admin-api-java17-springboot3
mvn clean package -DskipTests
```

The README states that Maven profiles exist for development, test, pre-release and production environments, so the profile flag is how you select configuration rather than editing files by hand. On the frontend, both the JavaScript and TypeScript directories are Vite 5 projects:

```bash
cd smart-admin-web-typescript
npm install
npm run dev
```

After the frontend starts, the login page is the first screen. The README lists two-factor login, password complexity requirements and login failure lockout among the security features, so a fresh account will hit those rules immediately. The login-fail-log screenshot in the README shows that failed attempts are recorded and visible in the admin UI, which is the fastest way to confirm the security layer is actually active rather than merely configured.

One caveat worth stating plainly: the README does not document a rollback procedure, a migration path between the Java 8 and Java 17 branches, or a Docker Compose file. If containerized startup is a requirement, nothing in the repository description confirms it exists.

## Where SmartAdmin is the wrong choice

The project is opinionated about code structure, and that opinion is the product. If your team already has a Java package convention, adopting SmartAdmin means either converting the generated code to your layout or converting your team to the four-layer controller/service/manager/dao split. The README presents the structure as suitable for large, medium and small projects, but a small project with three developers will find the manager layer and the shared configuration files to be overhead rather than clarity.

The dual-branch model is the second constraint. Two backend branches and two frontend branches mean bug fixes and features may land at different times in each. The release history shows a steady cadence through v3.30.0, but nothing in the README describes how the branches are kept in sync. If you standardize on Java 8 and Spring Boot 2, you are depending on the maintainers continuing to backport to a branch that the wider ecosystem is leaving.

Third, the documentation is Chinese-first. The README, the philosophy sections and the official site are written for a Chinese-speaking team. An English-speaking team can read the code, but the reasoning behind conventions like the return-code scheme or the smart-reload hook lives in prose you may not be able to read. That is a real onboarding cost, not a cosmetic one.

Finally, the security claims are claims. The README states the project satisfies 三级等保 functional requirements. Compliance is a property of a deployed system plus its operational process, not of a codebase. Nothing in the README indicates an independent audit, and you should not treat it as evidence for an assessor.

## How it compares with ContiNew Admin and Soybean Admin

ContiNew Admin is the closest comparison in the search data and in intent: another Chinese admin scaffold built on Spring Boot with a Vue frontend. The difference in approach is scope. SmartAdmin ships a mobile client (smart-app, uniapp with uni-ui) and a documented set of code conventions as first-class deliverables, and it maintains parallel Java 8 and Java 17 branches. ContiNew Admin is a backend-and-web scaffold without that mobile track. If you need APP, mini-program and H5 from the same repository, SmartAdmin's layout already accounts for it; if you do not, you are carrying a directory you will never build.

Soybean Admin sits on the other side of the line. It is a Vue admin template, not a full-stack platform: the backend is yours to choose. That makes it a better fit when the server side is already decided, or when the team wants to pick its own ORM and security stack rather than inherit Sa-Token, MyBatis-Plus and the four-layer structure. The trade-off is that everything SmartAdmin ships as a wired feature (login lockout, interface encryption, data change records, code generator) becomes work you do yourself.

The honest framing is that SmartAdmin and Soybean Admin are not competing for the same decision. One is a template you bring a backend to; the other is a platform you adopt whole or not at all.

## Licence, maintenance and upgrade cost

SmartAdmin is MIT licensed. That permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. It does not grant trademark rights, and it comes with no warranty. This is a permissive licence with no copyleft obligation, so embedding it in a closed-source product is not blocked by the licence itself. Whether the security features satisfy a specific regulatory assessment is a separate question that the licence does not answer, and it is not a legal question this review can settle.

The last push to the repository was on 2026-07-01, and the most recent release listed is v3.30.0 from 2026-03-02. The project is not archived. The release cadence visible in the release list runs v3.28.0 in August 2025, v3.29.0 in January 2026, and v3.30.0 in March 2026, which is roughly a release every few months rather than continuous churn.

Upgrade cost is driven by the branch model. Moving from the Java 8 branch to the Java 17 branch is not a version bump; it is a different directory with a different Spring Boot major version, and the README does not describe a migration guide. Frontend upgrades are more conventional since both branches are Vite 5 projects, but the JavaScript and TypeScript branches are separate codebases, so a fix applied to one does not automatically appear in the other. Budget for reading diffs rather than running an upgrade command.

## Conclusion

Adopt SmartAdmin if you are building a Chinese-market admin backend that must satisfy 三级等保 requirements and you want a documented four-layer Java structure plus a code generator to start from. Do not adopt it if you need a lightweight component library, an English-only documentation set, or if you cannot accept the maintenance cost of tracking two backend branches (Java 8 with Spring Boot 2 and Java 17 with Spring Boot 3) and two frontend branches (JavaScript and TypeScript). Before committing, verify which branch the official documentation at smartadmin.vip actually describes, confirm the database SQL scripts under 数据库SQL脚本/ cover your target database, and check whether the code generator emits code matching your own package layout or only the project's own four-layer convention.

## FAQ

### What is SmartAdmin?

SmartAdmin is a rapid development platform from 1024创新实验室, built on Spring Boot 2/3 with Sa-Token and MyBatis-Plus on the backend and Vue 3 with Vite 5 and Ant Design Vue 4.x on the frontend. It ships admin features such as login restrictions, interface encryption, data masking, code generation and logging, plus a uniapp mobile client.

### Is SmartAdmin a framework or a template?

It is closer to a full-stack platform than a template. The repository contains two backend implementations, two frontend implementations and a mobile client, with a documented four-layer backend structure and published frontend and Java code conventions, rather than a UI kit you attach to your own server.

### Is SmartAdmin responsive?

The README does not discuss responsive layout behaviour for the desktop console. It does document a separate uniapp mobile client in smart-app/ that targets APP, mini-program and H5 from one codebase, which is how the project covers small screens.

### What are the alternatives to SmartAdmin?

ContiNew Admin is a comparable Chinese admin scaffold on Spring Boot, without the mobile client and dual Java branch structure. Soybean Admin is a Vue admin template rather than a full-stack platform, so you supply the backend and its security and ORM choices yourself.

### How do I get started with SmartAdmin?

The README points to the official documentation at https://smartadmin.vip for setup. In the repository you choose one backend directory and one frontend directory, load the scripts from 数据库SQL脚本/ into your database, build the backend with Maven and start the frontend with npm run dev.

## Sources

- [1024-lab/smart-admin on GitHub](https://github.com/1024-lab/smart-admin)
- [License: MIT](https://github.com/1024-lab/smart-admin/blob/master/LICENSE)
- [Project website](https://smartadmin.vip)
- [README](https://github.com/1024-lab/smart-admin/blob/master/README.md)
- [Releases](https://github.com/1024-lab/smart-admin/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/1024-lab-smart-admin
