Installed via NuGet; integration is completed by calling AddTenonAdmin and MapTenonAdmin in Program.cs
TenonAdmin — Vue Admin dashboard Template
By Tenon-Net
TenonAdmin is an ASP.NET Core admin framework that provides common features such as users, roles, menus, organizations, and data permissions, along with two frontend templates: Vue 3 + Naive UI and React 19 + Ant Design.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Uses SQLite by default and automatically creates the database, tables, and initial account on first startup
Provides two frontend templates, Vue 3 + Naive UI and React 19 + Ant Design, connecting to the same backend API
Built-in permissions for users, roles, organization trees, menus, buttons, and APIs, plus multiple data permission scopes
Optional packages provide approval workflows, Excel import/export, scheduled tasks, and system integration
The repository includes development Skills for AI coding assistants, describing implementation conventions for modules, entities, interfaces, and pages
Template Details
TenonAdmin is an ASP.NET Core admin framework installed via NuGet packages. Core integration is completed by calling AddTenonAdmin and MapTenonAdmin in Program.cs. The framework includes built-in management features for users, roles, menus, organizations, and data permissions, and registers authentication, role permissions, data permissions, and management APIs. It uses SQLite by default and automatically creates the database, tables, and initial account on first startup, so no database server needs to be prepared in advance.
The frontend provides two templates: Vue 3 + Naive UI and React 19 + Ant Design. Both connect to the same backend API, and a business application only needs to choose one. Business entities, interfaces, and pages remain in the application's own project. The framework supports custom login, file storage, and permission rules through extension interfaces; backend updates are delivered via NuGet versions.
Permissions are divided into role permissions and data permissions: role permissions control menu, button, and API access, while data permissions control the range of business records a user can query, supporting data scopes such as all data, current organization, current organization and subordinates, current user, and specified organizations. After business entities follow the framework's data scope conventions, supported queries are automatically filtered according to the current user's role; raw SQL and custom data access paths require their own permission checks.
Optional packages include approval workflows, Excel import/export, scheduled tasks, and system integration. The approval workflow is provided as a separate package with process design, dynamic forms, step field permissions, approval handling, timeout handling, and run records; scheduled tasks support code, HTTP, and SQL types, and SQL execution must be enabled in configuration. The repository also includes development Skills for AI coding assistants, covering implementation conventions for modules, entities, interfaces, frontend pages, service extensions, and import/export. These are development notes and reference templates, not a standalone code generator.
Is it right for your project?
Use Cases
- Building internal enterprise business systems or operations management backends
- Adding admin features to an existing ASP.NET Core project
- Scenarios requiring business data access to be controlled by organization and role
- Backend projects that need optional capabilities such as approval processes, Excel import/export, or scheduled tasks
- Backend development where a team chooses between Vue and React for the frontend stack
Suitable For
- Development teams using ASP.NET Core that need admin features
- Projects that want business code separated from the admin framework source and upgraded via NuGet
- Internal systems that require role permissions and data permission control
- Teams choosing a frontend template between Vue 3 + Naive UI and React 19 + Ant Design
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The backend requires the .NET 10 SDK; the frontend recommends Node.js 22.12 or later
- 2
Example run: after cloning the dev branch, execute dotnet run --project backend/samples/MinimalHost; the backend runs at http://localhost:5100
- 3
For the Vue frontend, run npm install and npm run dev in the web directory; it is accessed at http://localhost:5173 by default
- 4
For the React frontend, run npm install and npm run dev in the web-react directory; it is accessed at http://localhost:5174 by default
- 5
The random password for the initial account superAdmin is printed to the console only when the account is first created; save it and change it after logging in; frontend templates and extension packages should remain on the same version as TenonAdmin
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis listing covers the free version in the public repository under the Apache-2.0 license; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution are permitted; the Apache-2.0 license must be included when distributing.
- Modified files must be prominently marked as changed, and relevant copyright, patent, trademark, and attribution notices must be retained.
- If the original project includes a NOTICE file, applicable attribution notices in it must be retained when distributing derivative works.
- The license includes applicable contributor patent grants; initiating patent litigation as described in the license terminates that patent grant, and no trademark rights are granted.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- SQL-type scheduled task jobs are unavailable by default and can only be used after SQL execution is explicitly enabled in configuration.
- Sending messages from the approval workflow to external systems requires implementing a real transport channel yourself; the framework does not provide out-of-the-box external message sending.
- The approval workflow is an optional separate package that must be installed and registered separately, and its version must match the main TenonAdmin package.
- Excel import/export, external login, Redis caching, workflows, and system integration are all optional extension packages that must be installed and configured separately as needed.
- SMS and external login in multi-factor authentication require integrating the corresponding services yourself; the framework does not include these external services.
- System integration features are in the Integration package, separate from the TenonAdmin metapackage, and require separate installation and configuration of application credentials and open APIs.
- Data permissions only apply to supported queries that follow the framework conventions; raw SQL and custom data access paths require you to implement permission checks yourself.
- Frontend templates and extension packages must match the backend TenonAdmin version, otherwise incompatibilities may occur.
- The random password for the initial account superAdmin is printed only once at first creation; save it promptly and change it after logging in.
- Third-party components and assets in the project remain subject to their own licenses; verify their authorization terms before use.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's Apache-2.0 license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
no-charge, royalty-free, irrevocable copyright license
Original License Text
SQL execution must be enabled in configuration
Original README
Sending workflow messages to external systems requires a real transport implementation
Original README
Install and register `TenonAdmin.Workflow` at the same version as `TenonAdmin`.
Original README
Install Excel, external login, Redis, workflow, and `TenonAdmin.Integration` extensions as needed
Original README
configurable multi-factor authentication, with SMS and external login integrations as needed
Original README
The Integration package is separate from the `TenonAdmin` meta-package
Original README
Raw SQL and custom data-access paths need their own permission checks.
Original README
Use a frontend template that matches the backend version, and keep extension packages at the same version as `TenonAdmin`.
Original README
The console prints the initial random password **only when the account is first created**.
Original README
https://github.com/Tenon-Net/TenonAdmin/blob/main/LICENSEhttps://github.com/Tenon-Net/TenonAdmin/blob/main/README.mdThird-party components and assets remain subject to their respective licenses.
Original README
Compiled by DeepSeek based on repository license and README ·2026-09-30. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 92 / 100
- Technologies
- Vue · React
- Website type
- Admin dashboard
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-30
- Screenshot last checked
- 2026-09-30
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Vue as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 23646e4ffcaf19172b1a947220914086b79ab2c4144fa1ef6a870432af55bdc7
2026-09-30T08:53:24.768Z
Source file / repository<!-- 本文件与中文基准版 README.zh-CN.md 保持同步。 -->
English | [简体中文](README.zh-CN.md) | [日本語](README.ja.md)
<p align="center">
<img src="site/public/tenon-mark.png" width="96" height="96" alt="TenonAdmin">
</p>
<h1 align="center">TenonAdmin</h1>
<p align="center"><strong>Three lines of code to add an admin framework to your ASP.NET Core project.</strong></p>
<p align="center">Install with NuGet · Keep business code in your application · Vue / React frontends</p>
<p align="center">
<a href="https://www.nuget.org/packages/TenonAdmin"><img src="https://img.shields.io/badge/NuGet-0.7.0-004880?logo=nuget&logoColor=white" alt="NuGet 0.7.0"></a>
<img src="https://img.shields.io/badge/.NET-10-512BD4" alt=".NET 10">
<img src="https://img.shields.io/badge/ASP.NET_Core-512BD4?logo=dotnet&logoColor=white" alt="ASP.NET Core">
<img src="https://img.shields.io/badge/Vue-3-4FC08D?logo=vuedotjs&logoColor=white" alt="Vue 3">
<img src="https://img.shields.io/badge/Naive_UI-Vue-36AD6A" alt="Naive UI">
<img src="https://img.shields.io/badge/React-19-61DAFB?logo=react&logoColor=20232A" alt="React 19">
<img src="https://img.shields.io/badge/Ant_Design-6-0170FE?logo=antdesign&logoColor=white" alt="Ant Design 6">
<img src="https://img.shields.io/badge/SqlSugar-ORM-2F6F9F" alt="SqlSugar ORM">
<a href="https://github.com/Tenon-Net/TenonAdmin/actions/workflows/backend-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Tenon-Net/TenonAdmin/backend-ci.yml?branch=dev" alt="dev backend build status"></a>
<a href="LICENSE"><img src="https://img.shields.io/github/license/Tenon-Net/TenonAdmin" alt="Apache License 2.0"></a>
</p>
<p align="center">
<a href="#quick-start">Quick start</a> ·
<a href="#screenshots">Screenshots</a> ·
<a href="https://tenonadmin.52moyu.net/login">Live demo</a> ·
<a href="https://tenon.52moyu.net/">Documentation</a> ·
<a href="CHANGELOG.md">Changelog</a>
</p>
## Introduction
TenonAdmin is an admin framework for ASP.NET Core. It provides common features such as users, roles, menus, organizations, and data permissions, with Vue and React admin interfaces. Use it to build internal business systems and operations dashboards, or add administration features to an existing .NET project.
Install `TenonAdmin` through NuGet, then add the core integration in `Program.cs`:
```csharp
builder.Services.AddTenonAdmin(builder.Configuration);
var app = builder.Build();
app.MapTenonAdmin();
```
The framework registers authentication, role permissions, data permissions, and administration APIs. It uses SQLite by default and creates the database, tables, and initial account on first startup, so there is no database server to set up first. See [Quick start](#quick-start) for the complete startup code and frontend commands.
Keep business entities, endpoints, and pages for customers, orders, and other modules in your own project. Extension interfaces let you customize login, file storage, and permission rules. Backend framework updates arrive through NuGet, while your business code stays separate from the framework source.
## Key features
### Build business features in your project and adapt the framework
When building a customer management module, reuse the existing accounts, roles, menus, and file management. Write customer entities, business endpoints, and admin pages in your application project. There is no need to put business code inside the framework source, and you can keep the application's existing business logic.
When a built-in implementation does not fit, such as when files need to go to object storage or login responses need extra business information, replace the relevant service or inherit the built-in service and override the step you need. Interfaces and overridable methods let you make that change without copying the entire implementation.
Backend fixes and new features are delivered as NuGet versions. Check the changelog when upgrading and adjust extensions and frontend API calls where needed. See [Service replacement and extension](skills/replace-service.md) for examples.
### Control actions and the records users can access
Role permissions determine which menus, buttons, and endpoints a user can access. Data permissions determine which business records they can query. The same customer list can show a department manager their department's data, give a higher-level manager access to subordinate departments, or allow selected organizations to work together.
Once a business entity follows the framework's data-scope conventions, supported queries apply filters based on the current user's roles. The customer query stays in the business service; the framework handles its data scope. Raw SQL and custom data-access paths need their own permission checks.
The independent example application uses a customer list to show how different accounts receive different records. See the [multi-organization data permissions example](https://github.com/Tenon-Net/tenon-example/blob/dev/docs/showcase-multi-org-data-scope.md).
### Choose Vue or React to suit your team
The Vue version uses Vue 3 and Naive UI. The React version uses React 19 and Ant Design 6. Both connect to the same backend APIs, so you only need one frontend for your business application.
New pages can reuse tables, forms, dictionary selectors, organization and user selectors, file uploads, and permission components. For example, filtering, pagination, an edit dialog, and button permissions on a customer list can follow existing pages and components rather than being rebuilt for each module.
API types can be generated from the backend's OpenAPI document and refreshed when endpoints change. Each frontend maintains its own dependencies and components. See the [Vue component documentation](web/COMPONENTS.md) and [React component documentation](web-react/COMPONENTS.md).
### Add approval workflows where your business needs them
Approval workflows are provided through an optional package. Use the process designer to set approvers, conditional branches, parallel branches, and carbon copies, and control which form fields can be viewed or edited at each step. Once a process is published, users can submit requests, handle pending approvals, and view progress and approval records.
The approval interface supports return, withdrawal, transfer, delegation, and adding or removing approvers. Process administrators can inspect runtime status, timeouts, and retry records. Vue and React both provide workflow interfaces against the same backend APIs.
Install and register `TenonAdmin.Workflow` at the same version as `TenonAdmin`. AI evaluation records results for reference; it does not automatically approve, reject, or advance a workflow. See the [workflow documentation](https://tenon.52moyu.net/guide/workflow) for integration and configuration.
### Give AI coding assistants the project's development conventions
The repository includes development Skills for modules, entities, endpoints, frontend pages, service extensions, and import/export. They contain implementation steps, reference code, and validation requirements. Ask your AI coding assistant to read the relevant instructions before writing code so it can follow the project's entity, service, permission, and component conventions.
For example:
> Follow `skills/new-module.md` to add a product management module with a name, code, category, and enabled status. Include category filtering, import/export, and menu and button permissions.
These Skills are development instructions and reference templates, not a standalone code generator. Review business rules, permissions, and test results after generation. Start with [Development Skills](skills/README.md).
## Quick start
The backend requires the .NET 10 SDK. Node.js 22.12 or later is recommended for the frontend. Run the repository sample for a first look, then follow the independent-project steps below when adding your own business features.
> Use a frontend template that matches the backend version, and keep extension packages at the same version as `TenonAdmin`. Read the [changelog](CHANGELOG.md) before upgrading.
### Run the complete sample
Clone the `dev` branch and start the backend:
```bash
git clone --branch dev --single-branch https://github.com/Tenon-Net/TenonAdmin.git
cd TenonAdmin
dotnet run --project backend/samples/MinimalHost
```
The backend runs at `http://localhost:5100`. The sample uses SQLite by default and creates its tables and the `superAdmin` account during initial setup.
The console prints the initial random password **only when the account is first created**. Save it for sign-in.
Open another terminal and start one frontend from the repository root.
**Vue:**
```bash
cd web
npm install
npm run dev
```
Open `http://localhost:5173` and sign in as `superAdmin` with the password from the console.
**React:**
```bash
cd web-react
npm install
npm run dev
```
Open `http://localhost:5174` and sign in with the same account. Choose either frontend; the backend only needs to run once. Change the initial password after signing in.
### Add TenonAdmin to your ASP.NET Core project
Install the backend package from your project directory:
```bash
dotnet add package TenonAdmin
```
A minimal `Program.cs` for a new host looks like this:
```csharp
using TenonAdmin.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
// TenonAdmin 的核心接入
builder.Services.AddTenonAdmin(builder.Configuration);
var app = builder.Build();
app.MapTenonAdmin();
app.Run();
```
`AddTenonAdmin` registers framework services, and `MapTenonAdmin` adds the administration APIs. In an existing project, merge these two calls into your startup flow and keep your configuration, services, and business routes.
Use the matching Vue or React template for the admin interface. SQLite is the default database. To use MySQL, SQL Server, or PostgreSQL, set the database type and connection string in configuration.
See the [getting started guide](https://tenon.52moyu.net/guide/getting-started) for database settings, the project template, and integration with existing applications. Install Excel, external login, Redis, workflow, and `TenonAdmin.Integration` extensions as needed, then register and configure them according to their documentation. The Integration package is separate from the `TenonAdmin` meta-package; follow [System Integration](https://tenon.52moyu.net/guide/integration) to enable its application credentials, open APIs, outbound calls, and reliable delivery.
## Feature overview
| Category | Main features |
| --- | --- |
| Users and organizations | Users, roles, organization tree, positions, online sessions, and forced sign-out |
| Permissions | Menu, button, and endpoint permissions; all data, current organization, current organization and descendants, current user, and selected organizations as data scopes |
| Login and security | Account and password, captcha, login lockout, and rate limiting; configurable multi-factor authentication, with SMS and external login integrations as needed |
| Administration | Multi-application portal, dictionaries, configuration, announcements, push messages, operation logs, and recycle bin |
| File management | Upload and download, signed access, chunked and resumable uploads, and instant upload for existing files |
| Excel import/export (optional package) | Import templates, data inspection, cell validation, duplicate detection, error reports, and export column selection |
| Scheduled jobs | Scheduled, fixed-interval, and one-time execution; code, HTTP, and SQL jobs, with logs, timeouts, retries, and failure alerts; SQL execution must be enabled in configuration |
| Approval workflows (optional package) | Process design, dynamic forms, field permissions per step, approval handling, timeout handling, and runtime records |
| System integration (optional package) | Application credentials and API keys, open endpoint and data-scope grants, outbound call records, and reliable delivery with retries and manual resolution |
| Frontend support | Vue and React templates, Chinese and English, light and dark themes, layout settings, business components, and OpenAPI type generation |
| Data and deployment | SQLite, MySQL, SQL Server, PostgreSQL, multiple database connections, a standalone Worker, Docker, health checks, and a Redis cache extension |
See the [deployment guide](docs/deployment.md) for production configuration and multiple replicas. Sending workflow messages to external systems requires a real transport implementation; details are in the [workflow documentation](https://tenon.52moyu.net/guide/workflow).
## Screenshots
Click an image to view it at full size.
<!-- 每行两张,使用仓库中的等比缩略图;新增截图时继续追加 <tr>,并同步原图与缩略图。 -->
<table>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/vue-admin.png"><img src="docs/screenshots/thumbs/vue-admin.png" alt="Vue user management" width="480"></a>
<br>Vue user management
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/react-admin.png"><img src="docs/screenshots/thumbs/react-admin.png" alt="React user management" width="480"></a>
<br>React user management
</td>
</tr>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/role-permissions.png"><img src="docs/screenshots/thumbs/role-permissions.png" alt="Role permissions" width="480"></a>
<br>Role permissions
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/org-management.png"><img src="docs/screenshots/thumbs/org-management.png" alt="Organization management" width="480"></a>
<br>Organization management
</td>
</tr>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/dictionary.png"><img src="docs/screenshots/thumbs/dictionary.png" alt="Dictionary management" width="480"></a>
<br>Dictionary management
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/file-management.png"><img src="docs/screenshots/thumbs/file-management.png" alt="File management" width="480"></a>
<br>File management
</td>
</tr>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/scheduled-jobs.png"><img src="docs/screenshots/thumbs/scheduled-jobs.png" alt="Scheduled jobs" width="480"></a>
<br>Scheduled jobs
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/workflow-pending.png"><img src="docs/screenshots/thumbs/workflow-pending.png" alt="Pending approvals" width="480"></a>
<br>Pending approvals
</td>
</tr>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/workflow-designer.png"><img src="docs/screenshots/thumbs/workflow-designer.png" alt="Process designer" width="480"></a>
<br>Process designer
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/workflow-approval.png"><img src="docs/screenshots/thumbs/workflow-approval.png" alt="Approval details" width="480"></a>
<br>Approval details
</td>
</tr>
<tr>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/integration-apps.png"><img src="docs/screenshots/thumbs/integration-apps.png" alt="Application integrations" width="480"></a>
<br>Application integrations
</td>
<td width="50%" align="center" valign="top">
<a href="docs/screenshots/delivery-tasks.png"><img src="docs/screenshots/thumbs/delivery-tasks.png" alt="Reliable delivery" width="480"></a>
<br>Reliable delivery
</td>
</tr>
</table>
These screenshots show the current `TenonAdmin.Integration` module: integration application management and its credential and permission entry points on the left, and reliable-delivery tasks and attempt records on the right. Follow [System Integration](https://tenon.52moyu.net/guide/integration) to install the optional package and run the complete flow.
## Documentation and business example
[tenon-example](https://github.com/Tenon-Net/tenon-example) is an independent business application. Its backend uses TenonAdmin through NuGet, its frontend is based on an admin template, and its business code includes a CRM module. Start here to see how to organize application code outside the framework.
The [live demo](https://tenonadmin.52moyu.net/login) is a separate deployment of that application and follows its version. Run the repository sample locally to try the current `dev` branch.
| Task | Documentation |
| --- | --- |
| Add the framework and configure a database | [Getting started](https://tenon.52moyu.net/guide/getting-started) |
| Add a business module | [Module development](skills/new-module.md) · [All development Skills](skills/README.md) |
| Build frontend pages | [Vue components](web/COMPONENTS.md) · [React components](web-react/COMPONENTS.md) |
| Customize built-in services | [Service replacement and extension](skills/replace-service.md) |
| Add import/export and approvals | [Excel import/export](skills/wire-import-export.md) · [Approval workflows](https://tenon.52moyu.net/guide/workflow) |
| Understand the backend structure | [Architecture](https://tenon.52moyu.net/backend/architecture) |
| Deploy and upgrade | [Deployment guide](docs/deployment.md) · [Changelog](CHANGELOG.md) |
<details>
<summary>Repository layout</summary>
```text
TenonAdmin/
├── backend/
│ ├── src/ Backend NuGet package source
│ ├── samples/ Sample hosts and standalone Worker
│ └── tests/ Backend tests
├── web/ Vue admin interface
├── web-react/ React admin interface
├── templates/ Backend project template
├── skills/ Development instructions and reference code
├── site/ Documentation site
└── docs/ Architecture, deployment, and development references
```
</details>
## Contributing
Development takes place on `dev`. Report problems through [Issues](https://github.com/Tenon-Net/TenonAdmin/issues), including the version, steps to reproduce, and relevant logs. Submit code changes as pull requests to `dev`.
## Copyright and license
Copyright © Tenon-Net
This project is licensed under the [Apache License 2.0](LICENSE), which permits commercial use, modification, and distribution.
When distributing this project or a derivative work, include a copy of the license, mark changed files, and retain applicable copyright, patent, trademark, and attribution notices in distributed source code. Follow Section 4 of the license for attribution notices from a NOTICE file.
Third-party components and assets remain subject to their respective licenses.
Explore similar templates
Compare previews and descriptions within the same stack and category.

vuestic-admin
Vuestic Admin is an open-source Vue 3 admin template maintained by Epicmax, built on Vuestic UI with Vite, Pinia, and Tailwind CSS. It provides a ready-to-run dashboard with a dark theme, global configuration, i18n internationalization, and responsive layout.
Vue · Admin dashboard

v3-admin-vite
v3-admin-vite is an AI-friendly Vue3 admin template built on Vue3, Vite, TypeScript, and Element Plus. It keeps a lean structure with detailed comments, supports backend-controlled dynamic route permissions, page-level and button-level permissions, multiple themes and layouts, and mobile compatibility.
Vue · Admin dashboard

vue-typescript-admin-template
A Vue 2.6 + TypeScript + Element UI admin template ported from vue-element-admin, offering type safety and enterprise features like permission authentication, internationalization, dynamic themes, editors, charts, Excel/PDF handling, and PWA support.
Vue · Admin dashboard

vue-antd-admin
Vue Antd Admin is the Vue implementation of Ant Design Pro, providing an out-of-the-box front-end and design solution for admin dashboards.
Vue · Admin dashboard

coreui-free-vue-admin-template
CoreUI's official free Vue admin template, MIT licensed, built on Vue 3 and the CoreUI component library with Vue Router, Pinia, and Vite.
Vue · Admin dashboard

nova-admin
Nova Admin is an admin template built on Vue3, Vite, TypeScript, and Naive UI, with Unocss for styling.
Vue · Admin dashboard
