Convert Figma logo to code with AI

vbenjs logovue-vben-admin

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

24,145
6,564
24,145
33

Top Related Projects

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

Vue3、Element Plus、typescript后台管理系统

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

A clean, elegant, beautiful and powerful admin template, based on Vue3, Vite5, TypeScript, Pinia, NaiveUI and UnoCSS. 一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia, NaiveUI 和 UnoCSS。

Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).

Quick Overview

Vue-vben-admin is a free and open-source Vue.js admin template that provides a comprehensive set of features and tools for building enterprise-level web applications. It is built on top of the popular Vue.js framework and utilizes various other libraries and tools to create a robust and scalable development environment.

Pros

  • Comprehensive Feature Set: Vue-vben-admin comes with a wide range of pre-built components, layouts, and utilities, making it easier to kickstart your project and focus on building your application's core functionality.
  • Responsive and Customizable: The template is designed to be responsive and can be easily customized to match your brand's visual identity.
  • Excellent Documentation: The project has detailed documentation that covers installation, configuration, and usage, making it easier for developers to get started and understand the codebase.
  • Active Development and Community: The project is actively maintained, and the community provides support and contributes to the project's ongoing development.

Cons

  • Steep Learning Curve: The project's comprehensive feature set and use of various libraries and tools may have a steep learning curve for developers who are new to the Vue.js ecosystem.
  • Potential Performance Issues: Depending on the size and complexity of your application, the project's extensive feature set may lead to performance issues if not optimized properly.
  • Dependency on Third-Party Libraries: The project relies on several third-party libraries, which may introduce potential compatibility issues or security concerns if not properly managed.
  • Limited Flexibility: While the project is highly customizable, the pre-built components and layouts may not always align with the specific requirements of your project, requiring more extensive customization.

Code Examples

Not applicable, as this is not a code library.

Getting Started

Not applicable, as this is not a code library.

Competitor Comparisons

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

Pros of vue-element-admin

  • More mature and widely adopted, with a larger community and ecosystem
  • Extensive documentation and examples available in multiple languages
  • Includes a rich set of pre-built components and features out of the box

Cons of vue-element-admin

  • Based on Vue 2, which may be considered outdated for new projects
  • Heavier and potentially slower due to its comprehensive nature
  • Less flexible for customization compared to more modern alternatives

Code Comparison

vue-element-admin:

import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(Element, { size: 'small', zIndex: 3000 })

vue-vben-admin:

import { createApp } from 'vue'
import { setupElementPlus } from '/@/plugins/elementPlus'

const app = createApp(App)
setupElementPlus(app)

The code snippets show the difference in setup between Vue 2 (vue-element-admin) and Vue 3 (vue-vben-admin) for integrating UI components. vue-vben-admin uses the newer composition API and modular setup approach, while vue-element-admin follows the older Vue 2 plugin system.

vue-vben-admin is built on Vue 3 and TypeScript, offering improved performance and better type safety. It also provides a more modular architecture, making it easier to customize and maintain. However, it may have a steeper learning curve for developers unfamiliar with Vue 3 and TypeScript.

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

Pros of vue-admin-better

  • Simpler and more lightweight structure, potentially easier for beginners to understand and customize
  • Includes a wider variety of pre-built components and layouts out-of-the-box
  • Offers more extensive documentation and examples for quick start and implementation

Cons of vue-admin-better

  • Less frequent updates and maintenance compared to vue-vben-admin
  • May lack some advanced features and optimizations present in vue-vben-admin
  • Smaller community and ecosystem, potentially leading to fewer third-party plugins and extensions

Code Comparison

vue-admin-better:

<template>
  <el-container class="layout-container-demo">
    <el-aside width="200px">
      <!-- Sidebar content -->
    </el-aside>
    <el-container>
      <el-header>
        <!-- Header content -->
      </el-header>
      <el-main>
        <!-- Main content -->
      </el-main>
    </el-container>
  </el-container>
</template>

vue-vben-admin:

<template>
  <Layout>
    <LayoutHeader />
    <Layout hasSider>
      <LayoutSider />
      <LayoutContent>
        <!-- Main content -->
      </LayoutContent>
    </Layout>
  </Layout>
</template>

The code comparison shows that vue-admin-better uses Element UI components for layout structure, while vue-vben-admin employs custom layout components. This difference reflects the overall approach of each project, with vue-admin-better focusing on simplicity and familiarity, and vue-vben-admin offering more customized and potentially optimized solutions.

Vue3、Element Plus、typescript后台管理系统

Pros of vue-manage-system

  • Simpler and more lightweight, making it easier to understand and customize
  • Includes a variety of pre-built components and pages for common admin tasks
  • Supports both Vue 2 and Vue 3, offering flexibility for different project requirements

Cons of vue-manage-system

  • Less comprehensive documentation compared to vue-vben-admin
  • Fewer advanced features and integrations out of the box
  • Smaller community and less frequent updates

Code Comparison

vue-manage-system:

<template>
  <div class="sidebar">
    <el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
      text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
      <template v-for="item in items">
        <template v-if="item.subs">
          <el-submenu :index="item.index" :key="item.index">
            <template #title>
              <i :class="item.icon"></i><span>{{ item.title }}</span>
            </template>
            <template v-for="subItem in item.subs">
              <el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
                <template #title>{{ subItem.title }}</template>
                <el-menu-item v-for="(threeItem, i) in subItem.subs" :key="i" :index="threeItem.index">
                  {{ threeItem.title }}
                </el-menu-item>
              </el-submenu>
              <el-menu-item v-else :index="subItem.index" :key="subItem.index">{{ subItem.title }}</el-menu-item>
            </template>
          </el-submenu>
        </template>
        <template v-else>
          <el-menu-item :index="item.index" :key="item.index">
            <i :class="item.icon"></i><span>{{ item.title }}</span>
          </el-menu-item>
        </template>
      </template>
    </el-menu>
  </div>
</template>

vue-vben-admin:

<template>
  <Layout :class="prefixCls" v-bind="lockEvents">
    <LayoutFeatures />
    <LayoutHeader fixed v-if="getShowFullHeaderRef" />
    <Layout :class="[layoutClass]">
      <LayoutSideBar v-if="getShowSidebar || getIsMobile" />
      <Layout :class="`${prefixCls}-main`">
        <LayoutMultipleHeader />
        <LayoutContent />
        <LayoutFooter />
      </Layout>
    </Layout>
  </Layout>
</template>

The code comparison shows that vue-manage-system uses a more traditional approach with nested templates, while vue-vben-admin employs a more modular structure with custom components.

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

Pros of naive-ui-admin

  • Utilizes the lightweight and performant Naive UI component library
  • Simpler setup and configuration process
  • More recent and actively maintained project

Cons of naive-ui-admin

  • Less comprehensive documentation compared to vue-vben-admin
  • Fewer built-in components and features
  • Smaller community and ecosystem

Code Comparison

vue-vben-admin:

<template>
  <BasicTable @register="registerTable">
    <template #toolbar>
      <a-button type="primary" @click="handleCreate">Create</a-button>
    </template>
  </BasicTable>
</template>

naive-ui-admin:

<template>
  <n-data-table
    :columns="columns"
    :data="data"
    :pagination="pagination"
    @update:page="handlePageChange"
  />
</template>

Both projects use Vue 3 and TypeScript, but vue-vben-admin employs a more abstracted approach with custom components like BasicTable, while naive-ui-admin uses Naive UI's native components directly. vue-vben-admin offers more out-of-the-box functionality and customization options, whereas naive-ui-admin provides a simpler, more straightforward implementation. The choice between the two depends on project requirements, team expertise, and desired level of customization.

A clean, elegant, beautiful and powerful admin template, based on Vue3, Vite5, TypeScript, Pinia, NaiveUI and UnoCSS. 一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia, NaiveUI 和 UnoCSS。

Pros of soybean-admin

  • Lighter weight and more streamlined codebase
  • Faster initial load times and better performance
  • More modern UI design with a cleaner aesthetic

Cons of soybean-admin

  • Less comprehensive feature set compared to vue-vben-admin
  • Smaller community and fewer available resources/plugins
  • Less extensive documentation and examples

Code Comparison

vue-vben-admin:

<template>
  <BasicTable @register="registerTable">
    <template #toolbar>
      <a-button type="primary" @click="handleCreate">新增用户</a-button>
    </template>
  </BasicTable>
</template>

soybean-admin:

<template>
  <n-data-table
    :columns="columns"
    :data="data"
    :pagination="pagination"
    @update:page="handlePageChange"
  />
</template>

The code snippets show that vue-vben-admin uses a custom BasicTable component with more built-in features, while soybean-admin opts for a simpler approach using Naive UI's n-data-table component directly. This reflects the overall difference in complexity and feature richness between the two projects.

Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).

Pros of Vuestic Admin

  • More visually appealing and modern UI design
  • Extensive collection of pre-built UI components
  • Better documentation and examples for quick start

Cons of Vuestic Admin

  • Less comprehensive in terms of advanced features and integrations
  • Smaller community and fewer third-party plugins/extensions
  • Limited TypeScript support compared to Vue Vben Admin

Code Comparison

Vue Vben Admin:

<template>
  <BasicTable @register="registerTable">
    <template #bodyCell="{ column, record }">
      <template v-if="column.key === 'action'">
        <TableAction
          :actions="[
            {
              icon: 'clarity:note-edit-line',
              onClick: handleEdit.bind(null, record),
            },
          ]"
        />
      </template>
    </template>
  </BasicTable>
</template>

Vuestic Admin:

<template>
  <va-data-table
    :items="users"
    :columns="columns"
    :selectable="true"
    @selected="onSelected"
  >
    <template #cell(status)="{ rowData }">
      <va-badge :color="getStatusColor(rowData.status)">
        {{ rowData.status }}
      </va-badge>
    </template>
  </va-data-table>
</template>

Both examples showcase table components, but Vue Vben Admin's approach is more flexible with custom cell rendering, while Vuestic Admin offers a more straightforward and concise syntax for common table features.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

VbenAdmin Logo

license

Vue Vben Admin

Quality Gate Status codeql build ci deploy

English | 中文 | 日本語

Introduction

Vue Vben Admin is a free and open source middle and back-end template. Using the latest vue3, vite, TypeScript and other mainstream technology development, the out-of-the-box middle and back-end front-end solutions can also be used for learning reference.

Upgrade Notice

This is the latest version, 5.0, and it is not compatible with previous versions. If you are starting a new project, it is recommended to use the latest version. If you wish to view the old version, please use the v2 branch.

Feature

  • Latest Technology Stack: Developed with cutting-edge front-end technologies like Vue 3 and Vite
  • TypeScript: A language for application-scale JavaScript
  • Themes: Multiple theme colors available with customizable options
  • Internationalization: Comprehensive built-in internationalization support
  • Permissions: Built-in solution for dynamic route-based permission generation

Preview

Test Account: vben/123456

VbenAdmin Logo VbenAdmin Logo VbenAdmin Logo

Use Gitpod

Open the project in Gitpod (free online dev environment for GitHub) and start coding immediately.

Open in Gitpod

Documentation

Document

Install and use

  • Get the project code
git clone https://github.com/vbenjs/vue-vben-admin.git
  • Installation dependencies
cd vue-vben-admin

corepack enable

pnpm install
  • run
pnpm dev
  • build
pnpm build

Change Log

CHANGELOG

How to contribute

You are very welcome to join!Raise an issue Or submit a Pull Request。

Pull Request:

  1. Fork code!
  2. Create your own branch: git checkout -b feat/xxxx
  3. Submit your changes: git commit -am 'feat(function): add xxxxx'
  4. Push your branch: git push origin feat/xxxx
  5. submitpull request

Git Contribution submission specification

  • reference vue specification (Angular)

    • feat Add new features
    • fix Fix the problem/BUG
    • style The code style is related and does not affect the running result
    • perf Optimization/performance improvement
    • refactor Refactor
    • revert Undo edit
    • test Test related
    • docs Documentation/notes
    • chore Dependency update/scaffolding configuration modification etc.
    • ci Continuous integration
    • types Type definition file changes
    • wip In development

Browser support

The Chrome 80+ browser is recommended for local development

Support modern browsers, not IE

 Edge
IE
 Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
not supportlast 2 versionslast 2 versionslast 2 versionslast 2 versions

Maintainer

@Vben

Donate

If you think this project is helpful to you, you can help the author buy a cup of coffee to show your support!

donate

Paypal Me

Contributor

Contributors

Discord

License

MIT © Vben-2020