Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/insistence/Dash-FastAPI-Admin
A general middle and backend management system developed purely in Python based on Dash+FastAPI.基于Dash+FastAPI纯Python开发的一个通用中后台管理系统。
https://github.com/insistence/Dash-FastAPI-Admin
admin ant-design fastapi plotly-dash python ruoyi
Last synced: about 1 month ago
JSON representation
A general middle and backend management system developed purely in Python based on Dash+FastAPI.基于Dash+FastAPI纯Python开发的一个通用中后台管理系统。
- Host: GitHub
- URL: https://github.com/insistence/Dash-FastAPI-Admin
- Owner: insistence
- License: mit
- Created: 2023-09-12T15:30:21.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-29T01:05:08.000Z (8 months ago)
- Last Synced: 2024-05-12T00:45:21.375Z (7 months ago)
- Topics: admin, ant-design, fastapi, plotly-dash, python, ruoyi
- Language: Python
- Homepage: https://dfadmin.insistence.tech/
- Size: 6.37 MB
- Stars: 124
- Watchers: 7
- Forks: 36
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-admin - Dash-FastAPI-Admin - FastAPI-Admin.svg?style=social&label=Star) 基于Dash+FastAPI纯Python开发的一个通用中后台管理系统 (Python)
README
Dash-FastAPI-Admin v2.1.0
基于Dash+FastAPI前后端分离的纯Python快速开发框架
## 平台简介
Dash-FastAPI-Admin是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
* 前端采用Dash、feffery-antd-components、feffery-utils-components。
* 后端采用FastAPI、sqlalchemy、MySQL(PostgreSQL)、Redis、OAuth2 & Jwt。
* 权限认证使用OAuth2 & Jwt,支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* Vue2版本:
- Gitte仓库地址:https://gitee.com/insistence2022/RuoYi-Vue-FastAPI
- GitHub仓库地址:https://github.com/insistence/RuoYi-Vue-FastAPI
* Vue3版本:
- Gitte仓库地址:https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI
- GitHub仓库地址:https://github.com/insistence/RuoYi-Vue3-FastAPI
* 特别鸣谢:[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) ,[feffery-antd-components](https://github.com/CNFeffery/feffery-antd-components),[feffery-utils-components](https://github.com/CNFeffery/feffery-utils-components)。## 内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
3. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
4. 部门管理:配置系统组织机构(公司、部门、小组)。
5. 岗位管理:配置系统用户所属担任职务。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
14. 缓存监控:对系统的缓存信息查询,命令统计等。
15. 系统接口:根据业务代码自动生成相关的api接口文档。## 演示图
## 在线体验
- *账号:admin*
- *密码:admin123*
- 演示地址:dfadmin管理系统## 项目开发及发布
```bash
# 克隆项目
git clone https://gitee.com/insistence2022/dash-fastapi-admin.git# 进入项目根目录
cd dash-fastapi-admin# 如果使用的是MySQL数据库,请执行以下命令安装项目依赖环境
pip3 install -r requirements.txt
# 如果使用的是PostgreSQL数据库,请执行以下命令安装项目依赖环境
pip3 install -r requirements-pg.txt
```### 开发
#### 前端
```bash
# 进入前端目录
cd dash-fastapi-frontend# 配置应用信息
在.env.dev文件中配置应用开发模式的相关信息# 运行前端
python3 app.py --env=dev
```#### 后端
```bash
# 进入后端目录
cd dash-fastapi-backend# 配置环境
1.在.env.dev文件中配置开发模式的数据库环境
2.在.env.dev文件中配置开发模式的redis环境# 运行sql文件
1.新建数据库dash-fastapi(默认,可修改)
2.如果使用的是MySQL数据库,使用命令或数据库连接工具运行sql文件夹下的dash-fastapi.sql;如果使用的是PostgreSQL数据库,使用命令或数据库连接工具运行sql文件夹下的dash-fastapi-pg.sql# 运行后端
python3 app.py --env=dev
```### 发布
本应用发布建议使用nginx部署,nginx代理配置参考如下:
```bash
server {
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8088/;
}location /prod-api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9099/;
rewrite ^/prod-api/(.*)$ /$1 break;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
```#### 前端
```bash
# 进入前端目录
cd dash-fastapi-frontend# 配置应用信息
在.env.prod文件中配置应用发布的相关信息,注意:APP_BASE_URL需要配置为nginx代理的地址,例如上面的nginx代理监听的是8000端口,则APP_BASE_URL需要配置为http://127.0.0.1:8000# 运行前端
python3 wsgi.py --env=prod
```#### 后端
```bash
# 进入后端目录
cd dash-fastapi-backend# 配置环境
1.在.env.prod文件中配置生产模式的数据库环境
2.在.env.prod文件中配置生产模式的redis环境# 运行sql文件
1.新建数据库dash-fastapi(默认,可修改)
2.如果使用的是MySQL数据库,使用命令或数据库连接工具运行sql文件夹下的dash-fastapi.sql;如果使用的是PostgreSQL数据库,使用命令或数据库连接工具运行sql文件夹下的dash-fastapi-pg.sql# 运行后端
python3 app.py --env=prod
```### 访问
```bash
# 默认账号密码
账号:admin
密码:admin123# 浏览器访问
地址:http://127.0.0.1:8088
```## 交流与赞助
如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注DF-Admin即可进群,也欢迎大家加入dash大神费弗里的知识星球学习更多dash开发知识。