# zce dashboard: a Vue 3 and Vite admin panel scaffolding

> The zce dashboard repository is a Vue 3 admin interface template with a fake API server, token refresh, role based access and a documented set of scripts, plus a linked online demo. The README describes a newer scaffolding in another repository, which tells you where the author considers this one to sit.

**zce/dashboard** — A dashboard scaffolding based on Vue.js 3.0 created by Vite.

- Repository: https://github.com/zce/dashboard
- Website: https://dashboard.zce.me
- Stars: 559 · Forks: 122
- Language: Vue
- License: MIT
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/zce-dashboard

## What the template is, and the pointer to a newer version

The repository is a dashboard scaffolding based on Vue.js 3.0 and Vite, and it is described the same way in the package description.

The first thing under the title is a line that changes how you should read everything else. There is a new dashboard scaffolding, at the zce/fearless repository, and the README links it directly after announcing it.

That is a soft retirement notice. The template is still published, still has a live demo, and still documents its own scripts, but the author has moved the work elsewhere. A reader evaluating this repository today should treat it as the previous generation of the same idea, and the new repository is the one to look at first.

The scope is a fairly conventional admin panel. The preview screenshots are of a WEDN.NET dashboard login page and a dashboard list view, and there is an online demo at dashboard.zce.me with a username of zce and a password of wanglei, plus a mirror for Chinese users at zce.gitee.io/vue-admin.

The project is MIT licensed and credited to the author and WEDN.NET, the primary language is Vue, the last push was on 2026-10-20, and there are no GitHub releases, so there is no version history to consult beyond the commit log.

One oddity in the topic list is worth noting, since it is the kind of detail that reveals how a project evolved. Alongside vue, vue3, vue-router, vuex, vite and vue-tutorial, the topics include vue2, vuejs2, vue-cli and webpack, which are all the previous generation's tools. The scaffolding has been through at least one major version migration, and the unchecked TODO items confirm the migration is not finished.

## The feature list, and the open TODO items

The features are grouped by concern, which is how you would evaluate whether the template covers what you need.

The Vue.js ecosystem is Vue 3.x, Vuex 4.x and Vue-router 4.x. Type safety is TypeScript 4.x. The frontend tooling is Vite 2.x. HTTP requests are based on the Fetch API, with ky 0.x and an explicit note that it is not axios. The UI library is customizable, using naive-ui 2.x.

The engineering workflow is the longest group: eslint 7.x, husky 7.x, lint-staged 11.x and commitlint 13.x. Deployment is GitHub Actions and Vercel with serverless functions.

Then there is a mocked API server, an Express 4.x server that runs locally, and the authentication story: an access token, a refresh token, auth refresh token, and role based authorization.

The TODO list is short and is more useful than the feature list for judging the state of the template. Vite is checked off, migration of dependencies to 3.0 is checked off, and basic API usage is checked off. Still open are compatibility issues and the Composition APIs.

That last one is the significant gap. The template is on Vue 3 but the code predates the Composition API, which is the idiomatic way to write modern Vue 3 components. So you are getting Vue 3 with the Options API structure, which works but means you are not following the current Vue guidance, and anyone arriving from Vue 2 will find the composition part unfamiliar rather than a relief.

A second Features list lower down describes a different, earlier set of capabilities: type annotation enhancement by JSDoc, access control by route interception, Vuex with modules and plugins, API services, i18n support, an Element UI custom theme, and Travis CI as well as GitHub Actions. That list is out of step with the dependencies in the package file, which is itself evidence of the migration being partial.

## The dependency file disagrees with the feature list, and that matters

The package.json in the repository is worth reading next to the feature list, because the two describe different projects.

The runtime dependencies are axios 0.21.1, core-js 3.10.0, element-plus 1.0.2-beta.36, nprogress 0.2.0, vue 3.0.11, vue-i18n 9.0.0, vue-router 4.0.5 and vuex 4.0.0. The development dependencies are the commitlint CLI and its conventional config at 12.1.1, the Vite Vue plugin at 1.2.1, the Vue single file component compiler at 3.0.11, husky 6.0.0, sass 1.77.2 and vite 2.1.5.

So the file says axios and element-plus, while the feature list says ky and naive-ui. The file is the one that describes what the code actually imports, and the feature list describes a version of the template that has not been merged into this branch.

The scripts in the file match the README. Dev is vite, build is vite build, serve is vite preview, and prepare runs husky install against the .github/husky directory, which is the hook wiring that makes the commitlint and lint-staged configuration take effect on every commit.

The configuration keys are also telling. The commitlint config extends the conventional config, and the renovate config extends a shared preset called zce, so dependency updates are handled by a preset rather than by a hand-maintained list. The .browserslistrc, .editorconfig, the two environment files, the jsconfig.json and the vite.config.js at the root complete a conventional Vite project layout.

For anyone using this as a starting point, that disagreement between the prose and the manifest is the single most important thing to notice. You will be replacing the UI library and the HTTP layer before you write any features, because the installed versions are not the ones described.

## Cloning it, running it, and the fake API server

The getting started instructions are short and the prerequisites are specific.

You need Node.js at 10.12 or newer with 12.10 preferred, npm at 6.x or newer or yarn at 1.20 or newer, and Git at 2.20 or newer.

The clone and install is two steps:

```shell
# clone repo
$ git clone https://github.com/zce/dashboard.git
$ cd dashboard
# install dependencies
$ npm install # or yarn
```

And there is a second path, through the author's scaffolding tool caz, which creates Vue.js applications:

```shell
# create vue.js apps through this
$ npx caz vue dashboard
# enter generated directory
$ cd dashboard
```

The available scripts are dev, which runs with hot reload at http://localhost:3000, and build, which builds for production with minification.

The mock API server is a separate repository, dashboard-server, with an online instance hosted on Vercel. Its own setup is the same pattern:

```shell
# clone api server
$ git clone https://github.com/zce/dashboard-server.git

$ cd dashboard-server

# install deps
$ npm install # or yarn

# run api server
$ npm start # or yarn start

# => api server run @ http://localhost:2080
```

And then you point the front end at it by editing the base URL in the environment file, with a diff showing the change from the hosted service to the local one:

```diff
- VUE_APP_API_BASE=https://dashboard-server.now.sh
+ VUE_APP_API_BASE=http://localhost:3000
```

Two details are easy to trip over. The VUE_APP_ prefix is the Vue CLI convention for exposing environment variables, and the file is .env.production with a typo in the name rather than .env.production, so a deployment that assumes the conventional spelling will not find the file. And the local API server listens on port 2080 while the front end dev server runs on port 3000, which is worth keeping straight when you read the two port numbers in the documentation.

## What you get and what you replace

The honest assessment of a scaffolding is about the split between what works and what you rewrite, and for this one the documentation points at the second half of the list directly.

What you get is a working Vue 3 and Vite project with the plumbing already done. Routing with vue-router, state with Vuex, a UI library in element-plus, internationalisation with vue-i18n, a progress bar with nprogress, and a fake server that lets the front end run without a backend. The authentication flow is the most valuable part, with an access token, a refresh token, an auth refresh token and role based authorization already implemented, and access control by route interception.

What you replace is the dependency set, because the manifest is not the manifest the feature list describes. If you follow the prose and reach for ky and naive-ui, you are rewriting the HTTP layer and the component library rather than configuring them. That is a real amount of work, and it is work the newer scaffolding at zce/fearless may have already done.

The Vue 2 to 3 migration is the second thing to weigh. The topics still carry vue2, vuejs2, vue-cli and webpack, the second features list still mentions JSDoc type annotation enhancement and an Element UI custom theme, and the TODO has compatibility issues and the Composition APIs both open. A template that is partway through a major framework migration is a starting point with unknowns, not a safe baseline.

The maintenance picture is decent on the surface. The last push was on 2026-10-20, there is a GitHub Actions workflow with build, licence, dependency, devDependency and code style badges, and Renovate is configured with a shared preset, so dependency updates are automated rather than manual.

So the recommendation is narrow. Use this repository to read how a Vue 3 admin panel wires authentication, or as a starting point you are prepared to bring up to date, and check the newer scaffolding first.

## Conclusion

Adopt this scaffolding if you want a Vue 3 and Vite admin panel with authentication, token refresh and role based access already wired, and you are comfortable with the pinned dependency versions it ships. Do not adopt it expecting a current stack, because the package versions correspond to the Vue 3.0 era and the feature list itself notes that compatibility issues and the Composition APIs are still open. Before you start, read the newer scaffolding linked in the README, since the author points there for the current version, and replace the demo credentials if you intend to expose anything.

## FAQ

### What is the zce dashboard repository?

It is a dashboard scaffolding based on Vue.js 3.0 and Vite, with a Vue 3 and Vuex 4 and Vue-router 4 stack, a component library, a mocked Express API server, token based authentication with refresh and role based authorization, and husky, lint-staged and commitlint hooks.

### How do I run the zce dashboard locally?

Clone the repository, run npm install or yarn, and use npm run dev for a hot reloading dev server at http://localhost:3000, with npm run build for a production build. A separate dashboard-server repository provides the fake API on http://localhost:2080.

### Which HTTP client and UI library does the zce dashboard actually use?

The package.json lists axios 0.21.1 and element-plus 1.0.2-beta.36, even though the feature list in the README describes ky and naive-ui. The manifest is the accurate description of the installed dependencies, so the HTTP layer and component library are the parts to expect to replace.

### What is still unfinished in the zce dashboard template?

The TODO list has compatibility issues and the Composition APIs still unchecked, with Vite, the migration of dependencies to 3.0 and basic API usage marked done. The second feature list also still mentions older tooling such as JSDoc type annotation enhancement and an Element UI custom theme.

### Is there a newer version of the zce dashboard?

Yes. The README announces a new dashboard scaffolding at the zce/fearless repository and links to it directly, so that is the version to evaluate first. The hosted demo of this one is at dashboard.zce.me with the credentials zce and wanglei.

## Sources

- [Issues](https://github.com/zce/dashboard/issues)
- [License: MIT](https://github.com/zce/dashboard/blob/main/LICENSE)
- [Project website](https://dashboard.zce.me)
- [README](https://github.com/zce/dashboard/blob/main/README.md)
- [zce/dashboard on GitHub](https://github.com/zce/dashboard)

---

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