BuildAdmin - 免费开源可商用!基于 ThinkPHP8 和 Vue3 等流行技术栈打造的商业级后台管理系统

BuildAdmin - 免费开源可商用!基于 ThinkPHP8 和 Vue3 等流行技术栈打造的商业级后台管理系统

一款包含 PHP 服务端和 Vue 前端代码的 admin 管理系统,实用性很强,推荐给大家。

BuildAdmin 是一个成熟的后台管理系统,后端服务采用 ThinkPHP8 ,数据库使用 Mysql,前端部分则使用当前流行的 Vue3 / TypeScript / Vite / Element Plus / Pinia 等前端技术栈实现,是一款符合当前大部分中小企业快速迭代 web 端业务的商业级后台管理系统。

BuildAdmin 官网

图形化 CRUD 代码生成

BuildAdmin 在很早之前就支持通过命令直接生成数据表的增删改查代码,现在已经支持通过图形化界面拖拽来生成后台增删改查代码,还有实用的表格查询、各类表单组件支持、拖拽排序、受权限控制的编辑和删除、支持关联表等后台常用的功能,非常高效,可以节省大量的开发时间。

CRUD 代码生成

流行且稳定的技术栈

除了基于 TP8 前后端分离的架构外,前端的 Vue3 使用了 Setup 方式,状态管理使用了官方推荐的 Pinia,还有 TypeScript / Vite / Element plus 等都是新鲜且火热的技术栈,技术选型没有后顾之忧。

丰富的模块市场

BuildAdmin 提供了模块市场,常用的功能模块可以一键安装,比如数据导出、短信发送、云存储、单页或是纯前端技术栈的学习案例项目等节省开发时间的功能。如果有技术能力,也可以作为模块开发者发布自己的功能模块。

内置权限系统

可视化的权限管理,然后根据权限动态的注册路由、菜单、页面、按钮(权限节点)、支持无限父子级权限分组、前后端搭配鉴权,自由分派页面和按钮权限。

权限系统

前后端分离

BuildAdmin 是前后端分离的项目,其中 web 文件夹内包含完整且和后端独立的前端代码文件,对于纯前端或者 PHP 后端开发者上手开发使用都非常友好。

按需加载

前端的页面组件和语言包都是异步按需加载的,服务端则是基于 TP8 和 PSR 规范提供的按需加载能力,所以开发时无需考虑手动精简功能,这一切都是自动的。

内置 WEB 终端

BuildAdmin 内置了网页形式的终端用来实现一些命令功能,这样的好处是很多步骤可以自动完成,比如安装 BuildAdmin 时,不需要另外打开电脑的终端来手动执行 npm install 和 npm build 命令。

近年来虽然很多后端开发语言涌现,业内火热程度十足,但在国内乃至世界范围内,使用 PHP 作为服务端开发语言的网站占比仍旧很高,而国内 ThinkPHP 仍旧是很多中小企业首选的后端框架。所以我们真的不用因为某几家前期靠 PHP 起家的大厂转用其他语言而感到焦虑。

BuildAdmin 控制台主页

BuildAdmin 就是这样一套适合 PHP 开发 web 服务的后台管理系统,项目在初始阶段可以快速启动,原因是国内有很多既能开发 PHP 后端,也能写前端的“全栈开发者”,这个 admin 项目强烈推荐给他们,在拥有 Vue.js 基础的情况下,很容易上手,很多业务相关的代码都不需要自己写,大大地减少项目开发的时间。哪怕是分别需要 PHP 和前端,招聘市场上也有大量的人员储备。

BuildAdmin 官方提供了很详细的开发文档,因为使用的用户很多,大部分开发时遇到的问题,几乎都可以在文档或者开发社区中找到答案。

本地安装

下载项目代码或者 git clone 到本地后,在本地拥有 PHP 开发环境的前提下,打开终端执行下面代码即可安装:

等待执行完毕后,在浏览器访问:http://127.0.0.1:8000/ 就可以打开项目,首次进入根据引导完成整个系统的安装,接下来就可以进行开发。

BuildAdmin 是一个永久免费开源的项目,项目采用 Apache 2.0 开源协议,从项目主页可以看到清晰的描述:无需授权即可商业使用。BuildAdmin 项目使用的技术栈比如 TP8、Mysql 以及前端框架全都是免费开源的,放心商用。

我也注意到,BuildAdmin 目前还在发展,更新频率也非常高,可以预计的是会在后面很长一段时间都有支持,我们可以放心去使用。

原文链接:https://www.thosefree.com/buildadmin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDFS 命令实操

在hdfs中创建文件夹:/itcast/itheima,如存在请删除(跳过回收站) 上传Linux文件系统中的/etc/hosts文件到hdfs的/itcast/itheima内 查看hdfs中刚刚上传的文件内容 向hdfs中上传的文件追加:itheima到最后一行 下…

从物联网到数字孪生:智慧社区的演变

随着科技的飞速发展和数字化转型的深入推进,智慧社区已成为提升城市治理水平和居民生活质量的重要方向。在这一演变过程中,物联网和数字孪生技术起到了至关重要的作用。本文将深入探讨从物联网到数字孪生的演变过程,分析这一转变对智慧社区建…

初识数据库:探索数据的世界

初识数据库:探索数据的世界 1. 什么是数据库?2. 数据库的类型2.1 关系型数据库(RDBMS)2.2 非关系型数据库(NoSQL) 3. 为什么使用数据库?4. 如何选择合适的数据库?5. 结语 在信息技术…

面试题-重点

11、深拷贝和浅拷贝的区别是什么 浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象. 深拷贝:被复制对象的所有变量都含有与原来的对象相同的值.而那些引用其他对…

Python中 ‘==‘ 与‘is‘的区别

嗨喽,大家好呀~这里是爱看美女的茜茜呐 比较判断逻辑是在代码中经常使用的,在Python中常用 ‘’ 和 is 来做比较判断。 : 双等号是用来比较变量所指向内存单元中的值是否相等,它只关心值,并不在意值的内存地址,也就是说…

前端给后端传值

在 Vue 2 中&#xff0c;你可以通过发送 HTTP 请求来将前端的数据传递到后端。这通常涉及到使用像 axios 这样的库来发送请求。以下是一个基本的步骤和示例&#xff0c;展示了如何通过按钮点击将 data 数据发送到后端&#xff1a; <template> <div> <input v…

Python+appium框架原生代码实现App自动化测试

step1&#xff1a;首先介绍下pythonappium的框架结构&#xff0c;如下截图所示 (1)&#xff1a;apk目录主要放置待测app的apk资源&#xff1b; (2)&#xff1a;config目录主要放置配置文件信息&#xff0c;包含&#xff1a;数据库连接配置、UI自动化脚本中所需的页面元素信息及…

Rust中的字符串处理及相关方法详解

在Rust中&#xff0c;字符串是一种非常重要的数据类型&#xff0c;而String类型则提供了对动态可变字符串的支持。本文将介绍一些常见的字符串处理方法以及相关示例代码。 创建字符串 在Rust中&#xff0c;有多种方式创建字符串&#xff0c;以下是一些常见的例子&#xff1a;…

C++中的原始字符串字面量

C中的原始字符串字面量 在编程语言中&#xff0c;字符串是一种基本的数据类型&#xff0c;用于表示和处理文本。然而&#xff0c;在很多情况下&#xff0c;我们需要在字符串中使用一些特殊字符&#xff0c;比如换行符 \n&#xff0c;制表符 \t&#xff0c;或者引号 "。在…

了解代码签名证书

作用 确认开发者身份&#xff1a;通过代码签名证书&#xff0c;用户可以验证软件的开发者是否是可信的。这有助于建立用户对软件的信任&#xff0c;降低用户对于恶意软件的风险。保证软件完整性&#xff1a;代码签名证书还可以确保软件在传输和安装过程中未被篡改。用户在安装…

python:PyPDF2 从PDF文件中提取目录

我发现 pypdf 和 pypdf2 的作者是同一人&#xff1a;Mathieu Fenniak pip install pypdf2 ; pypdf2-3.0.1-py3-none-any.whl (232 kB) 编写 pdf_read_dir.py 如下 # -*- coding: utf-8 -*- """ pypdf23.0.1 从PDF中提取目录 """ import os…

Java Random源码剖析

Java中&#xff0c;对随机最基本的支持是Math类中的静态方法random(),它生成一个0~1的随机数&#xff0c;类型为double,包括0但不包括1。 System.out.println(Math.random()); 可以发现输出结果每次都会不一样。 那么Math.random()是如何实现的呢&#xff1f;我们来看相关代…

【Linux】进程的初步认识(一)

进程的初步认识 基本概念描述进程task_struct-PCB的一种task_stuct内容分类 查看进程通过系统调用获取进程标识符 基本概念 要了解进程&#xff0c;首先我们要知道两点 我们可以同时启动多个程序&#xff0c;也就意味着我们可以将多个.exe文件加载到内存操作系统如何去管理这些…

Open CASCADE学习|布尔运算后消除内部拓扑

在CAD建模中&#xff0c;布尔运算是一种逻辑运算方法&#xff0c;通过这种方法&#xff0c;可以创建、修改或组合几何对象。布尔运算主要包括并集&#xff08;UNION&#xff09;、交集&#xff08;INTERSECT&#xff09;和差集&#xff08;SUBTRACT&#xff09;三种运算。 并集…

【Java前端技术栈】ES6-ECMAScript6.0

一、ES6基本介绍 1. ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准&#xff0c; 2015 年 6 月发布。 2. ES6 设计目标&#xff1a;达到 JavaScript 语言可以用来编写复杂的大型程序&#xff0c;成为企业级开发语 言 3. ECMAScript 和 JavaScript 的关系&…

Java多线程系列——概述

简介 在计算机编程中&#xff0c;多线程是一种重要的概念&#xff0c;允许程序同时执行多个任务&#xff0c;提高程序的效率和性能。Java作为一门广泛应用于软件开发的编程语言&#xff0c;也提供了丰富的多线程支持。本文将简要介绍Java多线程的基本概念、使用方法以及相关特…

71从零开始学Java之Properties配置类怎么用?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在前面的几篇文章中,壹哥给大家讲解了Java里的List、Set和Map等集合。所以现在我们知道,Map集合作为一个双列集合,有key和value两个值,这两个值共同组成…

数据所在,计算随行:Databend 的 2023 年度总结

2023 年是 Databend 为用户和客户全面交付 Data Cloud 数据云平台的一年&#xff0c;真正实现了「数据所在&#xff0c;计算随行」的理念&#xff0c;即将计算力带至数据之处&#xff0c;致力于为用户交付更澎湃的算力。 Databend 自 2021 年开始研发&#xff0c;「三年之期已…

Redis篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、redis的过期策略以及内存淘汰机制二、Redis 常见性能问题和解决方案?三、为什么Redis的操作是原子性的,怎么保证原子性的?四、Redis事务前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…

每日OJ题_二叉树dfs①_力扣2331. 计算布尔二叉树的值

目录 力扣2331. 计算布尔二叉树的值 解析代码 力扣2331. 计算布尔二叉树的值 2331. 计算布尔二叉树的值 难度 简单 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其中 0 表示 False &#xff0c;1 表示…