Convert Figma logo to code with AI

cool-team-official logocool-admin-vue

🔥 cool-admin一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.0、typeorm、mysql、jwt、element-ui、vuex、vue-router、vue等构建

1,692
470
1,692
15

Top Related Projects

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

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

🎉 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后台管理系统

Vue 2.0 admin management system template based on iView

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

Cool Admin Vue is a modern, feature-rich admin template based on Vue.js 3 and TypeScript. It provides a comprehensive set of UI components and tools for building efficient and responsive admin interfaces, with a focus on customization and ease of use.

Pros

  • Built with Vue 3 and TypeScript, offering improved performance and type safety
  • Extensive collection of pre-built components and layouts for rapid development
  • Supports both light and dark themes with easy customization options
  • Integrates well with popular backend frameworks and RESTful APIs

Cons

  • Steep learning curve for developers new to Vue.js or TypeScript
  • Limited documentation and examples for some advanced features
  • May require additional configuration for complex enterprise-level applications
  • Regular updates might lead to compatibility issues with older projects

Code Examples

  1. Creating a basic table component:
<template>
  <cl-table :data="tableData" :columns="columns" />
</template>

<script setup lang="ts">
import { ref } from 'vue'

const tableData = ref([
  { id: 1, name: 'John Doe', age: 30 },
  { id: 2, name: 'Jane Smith', age: 25 },
])

const columns = [
  { label: 'ID', prop: 'id' },
  { label: 'Name', prop: 'name' },
  { label: 'Age', prop: 'age' },
]
</script>
  1. Implementing a form with validation:
<template>
  <cl-form :model="form" :rules="rules" @submit="handleSubmit">
    <cl-form-item label="Username" prop="username">
      <cl-input v-model="form.username" />
    </cl-form-item>
    <cl-form-item label="Email" prop="email">
      <cl-input v-model="form.email" type="email" />
    </cl-form-item>
    <cl-form-item>
      <cl-button type="primary" native-type="submit">Submit</cl-button>
    </cl-form-item>
  </cl-form>
</template>

<script setup lang="ts">
import { reactive } from 'vue'

const form = reactive({
  username: '',
  email: '',
})

const rules = {
  username: [{ required: true, message: 'Username is required' }],
  email: [
    { required: true, message: 'Email is required' },
    { type: 'email', message: 'Invalid email format' },
  ],
}

const handleSubmit = (valid: boolean) => {
  if (valid) {
    // Process form submission
  }
}
</script>
  1. Creating a custom chart component:
<template>
  <cl-chart :options="chartOptions" />
</template>

<script setup lang="ts">
import { ref } from 'vue'

const chartOptions = ref({
  title: { text: 'Sales Overview' },
  xAxis: { data: ['Q1', 'Q2', 'Q3', 'Q4'] },
  yAxis: {},
  series: [
    {
      name: 'Sales',
      type: 'bar',
      data: [120, 200, 150, 80],
    },
  ],
})
</script>

Getting Started

  1. Install Cool Admin Vue:

    npm install cool-admin-vue
    
  2. Import and use components in your Vue 3 project:

    <script setup lang="ts">
    import { ClButton, ClInput } from 'cool-admin-vue'
    </script>
    
    <template>
      <cl-button type="primary">Click me</cl-button>
      <cl-input v-model="inputValue" placeholder="Enter text" />
    </template>
    
  3. Configure the theme in your main.ts file:

    import { createApp } from 'vue'
    import CoolAdminVue from 'cool-admin-vue
    

Competitor Comparisons

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

Pros of vue-element-admin

  • More comprehensive documentation and examples
  • Larger community and ecosystem support
  • Extensive internationalization features

Cons of vue-element-admin

  • Steeper learning curve due to its complexity
  • Potentially heavier and slower for smaller projects
  • Less focus on rapid development compared to cool-admin-vue

Code Comparison

vue-element-admin:

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export const constantRoutes = [
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      {
        path: '/redirect/:path(.*)',
        component: () => import('@/views/redirect/index')
      }
    ]
  }
]

cool-admin-vue:

import { createRouter, createWebHistory } from 'vue-router';
import { routerModules } from '/@/cool/modules';

export const routes = [
  {
    path: '/',
    name: 'layout',
    component: () => import('/@/layout/index.vue'),
    children: [...routerModules]
  }
];

The code comparison shows that vue-element-admin uses Vue Router 3.x syntax, while cool-admin-vue uses Vue Router 4.x syntax with the Composition API. cool-admin-vue's approach appears more concise and modular, potentially easier for rapid development.

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

Pros of vue-vben-admin

  • More comprehensive documentation and examples
  • Larger community and more frequent updates
  • Better TypeScript support and type definitions

Cons of vue-vben-admin

  • Steeper learning curve due to its complexity
  • Potentially overkill for smaller projects
  • Less flexibility in customization compared to cool-admin-vue

Code Comparison

vue-vben-admin:

import { defineComponent } from 'vue';
import { BasicForm, useForm } from '/@/components/Form';
import { formSchema } from './data';

export default defineComponent({
  setup() {
    const [registerForm, { setFieldsValue }] = useForm({
      schemas: formSchema,
    });
    // ... more code
  },
});

cool-admin-vue:

import { ref } from 'vue';
import { useForm } from '@cool-vue/crud';

export default {
  setup() {
    const form = ref(null);
    const { submit, reset } = useForm(form);
    // ... more code
  },
};

The code comparison shows that vue-vben-admin uses TypeScript and has a more structured approach to form handling, while cool-admin-vue uses a simpler JavaScript implementation. vue-vben-admin's code is more verbose but provides better type safety and intellisense support.

🎉 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

  • More comprehensive documentation and examples
  • Larger community and more frequent updates
  • Includes additional features like multi-tab support and theme customization

Cons of vue-admin-better

  • Steeper learning curve due to more complex architecture
  • Potentially heavier and slower performance for simpler applications
  • Less flexibility for customization in certain areas

Code Comparison

cool-admin-vue:

<template>
  <cl-crud @load="onLoad">
    <cl-row>
      <cl-col>
        <cl-table v-bind="table" />
      </cl-col>
    </cl-row>
  </cl-crud>
</template>

vue-admin-better:

<template>
  <div class="app-container">
    <vab-query-form>
      <!-- Query form fields -->
    </vab-query-form>
    <vab-query-table
      :data="list"
      :columns="columns"
      @selection-change="handleSelectionChange"
    />
  </div>
</template>

The code comparison shows that cool-admin-vue uses a more concise and declarative approach with its cl-crud component, while vue-admin-better provides more granular control over individual components like query forms and tables. This reflects the trade-off between simplicity and flexibility in the two projects.

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 layouts for quick development
  • Regularly updated with new features and bug fixes

Cons of vue-manage-system

  • Less comprehensive than cool-admin-vue in terms of advanced features
  • May require more manual configuration for complex enterprise applications
  • Limited built-in support for backend integration compared to cool-admin-vue

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>

cool-admin-vue:

<template>
	<div class="cl-menu">
		<el-menu
			:default-active="active"
			:collapse="app.isSidebarCollapse"
			:unique-opened="config.menu.uniqueOpened"
			:collapse-transition="false"
			:mode="mode"
			@select="onSelect"
		>
			<cl-menu-item
				v-for="(item, index) in list"
				:key="index"
				:item="item"
				:index="String(index)"
			/>
		</el-menu>
	</div>
</template>

Vue 2.0 admin management system template based on iView

Pros of iview-admin

  • More mature and established project with a larger community
  • Comprehensive documentation and examples
  • Built on top of the popular iView UI component library

Cons of iview-admin

  • Less frequent updates and maintenance
  • Older technology stack (Vue 2.x)
  • More complex setup and configuration

Code Comparison

iview-admin:

<template>
  <div class="layout">
    <Layout>
      <Sider hide-trigger :style="{background: '#fff'}">
        <Menu active-name="1" theme="light" width="auto" :open-names="['1']">
          <!-- Menu items -->
        </Menu>
      </Sider>
      <!-- Main content -->
    </Layout>
  </div>
</template>

cool-admin-vue:

<template>
  <cl-layout>
    <cl-menu-tree :data="menuList" />
    <cl-container>
      <router-view />
    </cl-container>
  </cl-layout>
</template>

The code comparison shows that cool-admin-vue uses custom components (cl-layout, cl-menu-tree, cl-container) for layout and menu structure, while iview-admin relies on iView's built-in components (Layout, Sider, Menu). cool-admin-vue's approach appears more streamlined and easier to use, while iview-admin offers more granular control over the layout structure.

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 comprehensive UI component library with a wider range of pre-built elements
  • Better documentation and examples, making it easier for developers to get started
  • Active community support and regular updates

Cons of Vuestic Admin

  • Larger bundle size due to the extensive component library
  • Less flexibility in terms of customization compared to Cool Admin Vue
  • Steeper learning curve for developers new to the framework

Code Comparison

Vuestic Admin component usage:

<va-card>
  <va-card-title>Card Title</va-card-title>
  <va-card-content>Card Content</va-card-content>
</va-card>

Cool Admin Vue component usage:

<cl-card>
  <template #title>Card Title</template>
  <template #default>Card Content</template>
</cl-card>

Both frameworks offer similar component structures, but Vuestic Admin tends to use more specific component names (e.g., va-card-title), while Cool Admin Vue relies more on slots for content organization.

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

cool-admin [vue3 - ts - vite]

cool-admin Logo

cool-admin 一个很酷的后台权限管理系统,开源免费,模块化、插件化、极速开发 CRUD,方便快速构建迭代后台管理系统, 到文档 进一步了解

GitHub license GitHub tag GitHub tag

特性

Ai时代,很多老旧的框架已经无法满足现代化的开发需求,Cool-Admin开发了一系列的功能,让开发变得更简单、更快速、更高效。

  • Ai编码:通过微调大模型学习框架特有写法,实现简单功能从Api接口到前端页面的一键生成
  • 流程编排:通过拖拽编排方式,即可实现类似像智能客服这样的功能
  • 模块化:代码是模块化的,清晰明了,方便维护
  • 插件化:插件化的设计,可以通过安装插件的方式扩展如:支付、短信、邮件等功能

地址

视频教程

官方 B 站视频教程

演示

https://show.cool-admin.com

账户:admin,密码:123456

Admin Home

项目后端

https://github.com/cool-team-official/cool-admin-midway

或

https://gitee.com/cool-team-official/cool-admin-midway

或

https://gitcode.com/cool_team/cool-admin-midway

微信群

Admin Wechat

安装项目依赖

推荐使用 pnpm:

pnpm i

运行应用程序

安装过程完成后,运行以下命令启动服务。您可以在浏览器中预览网站 http://localhost:9000

pnpm dev

低价服务器

阿里云、腾讯云、华为云低价云服务器,不限新老