3 Star 34 Fork 16

zero/WaitAdmin开源后台系统(Python版)

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

WaitAdmin (Python) 通用管理系统

wa wa wa wa

wa wa wa wa

wa wa wa

wa wa

项目概述
WaitAdmin(Python)是一个采用现代技术栈构建的权限控制后台管理系统,旨在为企业提供高效、安全、易扩展的后台解决方案。 该项目由个人开发者独立开发,无法与企业级团队开发的项目在规模和资源上相提并论,是否合适需自行衡量。 系统前端采用Vue 3框架结合TypeScript,保证了界面的流畅性和代码的可维护性; 后端则选用FastAPI,以其高性能和易开发的特点,为系统提供了强大的后端支持。
PS: 非专业Python开发者, 共同学习吧。

商用说明

  • MIT开源协议, 允许免费商用。

在线体验

后台账号

  • 登录账号:test
  • 登录密码:123456

环境要求

运行环境 要求版本 推荐版本
Python >=3.10.* 3.10.*
Mysql >=5.7 5.7
Nginx 无限制 最新LTS版
Node >=20.* v20.14.0

🐹 技术架构

  • 后台端: Vue3 + TypeScript + Pinia + Element Plus
  • 前台端: NuxtJs3 + TypeScript + Pinia + Element Plus
  • 接口端: FastAPI + Pydantic + Tortoise-orm
  • 数据库: MySQL>=5.7
  • 缓存层: Redis
  • 服务部署: Nginx

🧐 主要特性

  • 路由自动根据目录自动注册
  • 采用常见的MVC结构(上手更容易)
  • 内置基于RBAC的权限管理的功能
  • 开箱即用,内置常用的工具和组件

👀 内置功能

  • 用户管理:该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组)
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单操作权限访问路径等。
  • 角色管理:配置角色菜单权限分配
  • 邮件配置:配置电子邮件发送功能
  • 操作日志:系统操作日志记录和查询
  • 定时任务:管理定时任务的(新增、修改、删除)
  • 系统缓存:管理系统产生的缓存(可自行清理)
  • 附件管理:管理用户上传的图片和视频
  • 文章管理:管理文章的(新增、修改、删除)
  • 文件存储:管理文件的存储(本地存储、阿里云OSS、腾讯云OSS、七牛云OSS)
  • 操作日志 记录用户的登录、操作等日志信息,便于追踪和审计。
  • 接口文档 FastAPI自动生成的Swagger UI接口文档,方便前后端开发人员对接。
  • ....

🚀 快速开始

(1) 克隆项目代码:

git clone https://gitee.com/wafts/waitadmin-python.git
cd waitadmin-python

(2) 创建虚拟环境 (可选):

# 以下为Linux下创建虚拟环境, 如果Windows激活有一点点不一样。
# 如果您不了解虚拟环境, 建议您百度了解一下, 这在项目中很常见。

wa# python3 -m venv venv

wa# source venv/bin/activate

(3) 安装核心依赖 (必选):

  • 如果安装很慢,或者失败情况,请切换到国内源,或使用魔法。
# 注意要进入到server目录
cd waitadmin-python/server

pip3 install -r requirements.txt

(4) 导入数据结构:

  • 1、首先你先要创建一个数据库,字符集建议使用 utf8mb4, 如我创建的库是: ts_wa
  • 2、数据结构文件在 server/sql/install.sql
  • 3、使用Navicat之类的工具, 把install.sql导入到创建的ts_wa数据库里。

(5) 修改配置文件:

  • server根目录下载的.example.env, 复制该示例创建最终生效的.env文件
  cp .example.env .env

然后在.env修改里面的配置信息, 修改Mysql连接配置项,Redis配置, 根据需要自己实际情况进行修改。

# .env文件的内容示例

APP_DEBUG=False              # 调试模式,生成环境建议关闭

SERVER_HOST=0.0.0.0          # 服务监听地址
SERVER_PORT=8200             # 服务监听端口
SERVER_RELOAD=True           # 服务监听重启
SERVER_WORKERS=4             # 服务的进程数

MYSQL_HOST=127.0.0.1         # Mysql地址
MYSQL_PORT=3306              # Mysql端口
MYSQL_USERNAME=root          # Mysql账号
MYSQL_PASSWORD=root          # Mysql密码
MYSQL_DATABASE=ts_wa         # Mysql数据库
MYSQL_PREFIX=wait_           # Mysql表前缀
MYSQL_MINSIZE=1              # 最少链接数
MYSQL_MAXSIZE=100            # 最大链接数
MYSQL_CHARSET=utf8mb4        # 字符编码
MYSQL_ECHO=False             # 打印SQL

REDIS_HOST=127.0.0.1         # Redis地址
REDIS_PORT=6379              # Redis端口
REDIS_USERNAME=''            # Redis账号
REDIS_PASSWORD=''            # Redis密码

(6) 运行项目:

python3 manager.py
# 看到以下信息则表示运行成功了
INFO:     Will watch for changes in these directories: ['/Applications/waitadmin-python/server']
INFO:     Uvicorn running on http://0.0.0.0:8100 (Press CTRL+C to quit)
INFO:     Started reloader process [4614] using StatReload
INFO:     Started server process [4617]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

(7) 完毕:

1、以上就是服务端的启动方式 (server)。
2、后台(admin) 与 前台(nuxtjs), 请自行按照 vue 那一套流程进行启动。
    cd admin
    npm install
    npm run dev
    # PS: 注意调整 .env 配置文件
3、更详细的部署文档:
    https://www.waitadmin.cn/docs/python/nuxt.html

演示图

wa wa
wa wa
wa wa
wa wa
wa wa

交流群

  • 加群时请备注是Python版

QQ群: 加入QQ群

MIT License Copyright (c) 2024 zero Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

🔥🔥🔥WaitAdmin(python)是一款基于Fastapi+Vue3开发的一套快速开发通用管理后台,集成Vue常用组件,RBAC权限管理, 让开发变的简单,界面简洁清爽,后台支持多种菜单结构可满足不同人群的需求,非常适合二开做项目。 展开 收起
取消

发行版 (5)

全部
21天前

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/wafts/waitadmin-python.git
git@gitee.com:wafts/waitadmin-python.git
wafts
waitadmin-python
WaitAdmin开源后台系统(Python版)
master

搜索帮助