Skip to content
View fastapiadmin's full-sized avatar
😇
I may be slow to respond.
😇
I may be slow to respond.

Block or report fastapiadmin

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
FastapiAdmin/README.md

logo

FastApiAdmin v3.0.0

🚀 一套代码交付 Web / H5 / 小程序,AI 代码生成 + RBAC + Docker 开箱即用

基于 FastAPI + Vue3 + TypeScript 的企业级全栈底座:类型共享、权限完整、三端同源

GitHub Stars GitHub Forks Gitee Stars Gitee Forks AtomGit G-Star
License Commit Activity

简体中文 | English

🖥️ 界面一览

Web 端

仪表盘

移动端(H5 / 小程序 / App 同一套代码)

登录与拼图验证 移动端工作台 个人中心

三端共享同一套品牌 Token:Logo、主色、圆角、间距、深色层级与危险操作语义保持一致。

💡 为什么选择 FastapiAdmin?

你需要的 FastapiAdmin Django Admin 纯前端模板
🎯 开箱即用的后台系统 ✅ ⚠️ 功能有限 ❌ 只有 UI
⚡ FastAPI 异步高性能后端 ✅ ❌ 同步为主 ❌ 无后端
🔐 RBAC 菜单/按钮/数据三级权限 ✅ ❌ 基础 ❌
🤖 代码生成器(选表 → 出前后端代码) ✅ ❌ ❌
📱 移动端(H5 + 小程序)一体 ✅ ❌ ❌
🐳 Docker 一键部署(含 Nginx + SSL) ✅ ❌ ❌

👉 详细技术选型对比:为什么选择 FastapiAdmin?

✅ 适合这些场景

  • 需要在 1–4 周内交付可用的企业后台、运营系统或客户项目;
  • 团队希望 前后端类型共享,减少接口联调与重复建模;
  • 同一业务要同时覆盖 Web 管理端 + 移动端 / 小程序;
  • 需要代码生成、RBAC、审计日志、定时任务等“底座能力”,而不是从零搭。

⚠️ 不适合

  • 需要完整 IM(文件、撤回、已读回执、多端同步)的场景;
  • 一开始就要求多实例水平扩展的实时聊天 / 调度场景(当前按单实例设计)。

🍪 在线体验

端 地址 账号
💻 Web 端 service.fastapiadmin.com/web admin / 123456
📱 移动端 service.fastapiadmin.com/app admin / 123456
📖 官方文档 service.fastapiadmin.com 无需登录

🚀 5–15 分钟本地跑起来

# 1. 克隆
git clone https://gitee.com/fastapiadmin/FastapiAdmin.git

# 2. 配置环境
cp backend/env/.env.example backend/env/.env.dev
cp frontend/web/.env.development.example frontend/web/.env.development

# 3. 启动后端(首次自动建表 + 初始化数据)
cd backend && uv sync && uv run main.py run --env=dev

# 4. 启动前端
cd ../frontend/web && pnpm install && pnpm run dev

# ✅ 浏览器打开 http://127.0.0.1:5173,用 admin/123456 登录

首次启动会自动建表并写入演示数据;后端默认 8001,前端默认 5173。生产环境请使用 Alembic 迁移与独立密钥。

环境要求
Python ≥ 3.12 Node.js ≥ 20.0 + pnpm
MySQL 8.0+ / PostgreSQL 14+ Redis 6.x / 7.x

🐳 或者:Docker 一键部署

cp docker/.env.example docker/.env    # 填写 MySQL / Redis 密码
./deploy.sh                           # 自动构建镜像并启动全栈(含 Nginx + SSL)

端口、SSL 证书、前端构建等细节见 Docker 部署文档。

📦 工程结构

FastapiAdmin/            # Monorepo 全栈工程
├─ backend/              # FastAPI 后端(Pydantic 2.0 + SQLAlchemy + Alembic)
├─ frontend/
│   ├── web/             # Vue3 Web 前端(Element Plus + TypeScript)
│   ├── app/             # UniApp 移动端(H5 + 小程序 + App)
│   └── docs/            # VitePress 文档网站
├─ docker/               # Docker Compose 一键部署(Nginx + SSL)
├─ deploy.sh             # 一键部署脚本
└─ LICENSE               # MIT 开源协议

🧱 技术栈

层 技术
后端 FastAPI · Pydantic 2 · SQLAlchemy 2 · Alembic · Redis
Web Vue 3 · TypeScript · Vite · Element Plus · Pinia · Tailwind
移动端 UniApp · Vue 3 · Wot Design Uni
AI Agno · 可切换模型供应商
部署 Docker Compose · Nginx · SSL

📌 内置功能

200+ REST 接口 · MySQL / PostgreSQL / SQLite 三方言 · SFTP / S3 / OSS / COS / OBS 五种存储协议 · ENABLED_MODULES 一行开关裁剪模块

核心模块(始终启用,不可裁剪)

模块 包含能力
📊 仪表盘 工作台、数据分析
⚙️ 系统管理 用户 / 角色 / 菜单 / 部门 / 岗位 / 字典 / 参数 / 公告 / 工单 / 版本
👀 监控管理 在线用户 / 服务器监控 / 缓存监控
📝 日志管理 操作日志审计
🧰 开发工具 接口文档

扩展模块(默认启用,可用 ENABLED_MODULES 裁剪)

模块 包含能力 裁剪开关
🧩 任务管理 定时任务调度 + 可视化工作流编排(内置业务节点) task
🔧 代码生成器 选表 → 生成前后端全量代码 generator
📁 数据存储 统一文件 / 对象存储(SFTP / S3 / OSS / COS / OBS) storage
🤖 AI 对话 基于 Agno 的智能体对话 ai
💬 内部聊天 系统内用户纯文字私聊 / 群聊(WebSocket 实时推送 + 未读角标) chat

🔧 模块裁剪

扩展模块可通过 backend/app/config/setting.py 中的 ENABLED_MODULES 按需启用 / 停用——移除列表项即可,无需删除任何代码或菜单,对应的 REST 接口、WebSocket 端点与初始化逻辑将自动不加载:

# 例如:停用内部聊天与 AI 对话,保留其余扩展模块
ENABLED_MODULES = ["generator", "task", "storage"]

🚦 部署说明

  • 聊天边界:内部聊天定位为轻量内部沟通,仅支持纯文字消息,不含文件传输、撤回、已读回执、多端同步等 IM 能力;如有强 IM 需求,请对接企业微信 / 钉钉 / 飞书等成熟产品。随时可在 ENABLED_MODULES 中移除 chat 停用。
  • 单实例部署:实时功能(内部聊天 WebSocket、定时任务调度器)基于单实例内存连接与本地调度实现,请以单实例方式部署。如需水平扩展,请自行引入 Redis Pub/Sub 或消息队列。
  • 密钥安全:所有第三方密钥(AI、云存储等)请配置在 backend/env/.env.* 环境变量中,切勿提交到仓库或写入数据库。
  • 数据库迁移:正式环境请使用 Alembic 迁移(uv run alembic upgrade head)管理表结构变更,create_all 仅用于首次初始化的兜底。

📷 更多截图

登录 + 拼图验证 代码生成 AI 助手
登录 代码生成 AI

截图来自当前版本:浅色主题、真实接口数据与最新品牌视觉。

❓ 常见问题

Q:启动后登录提示验证码错误?
A:确认后端 Redis 正常,并完成页面拼图验证;开发环境账号为 admin / 123456。

Q:可以只用 Web 端吗?
A:可以。frontend/web 可独立启动;移动端工程独立,不影响 Web。

Q:如何裁剪模块?
A:修改 backend/app/config/setting.py 的 ENABLED_MODULES,接口与初始化逻辑会自动卸载。

Q:生产环境数据库怎么初始化?
A:使用 uv run alembic upgrade head,不要依赖 create_all。

📖 文档地址

🤝 参与贡献

欢迎提交 Issue / PR!详见 贡献指南。

👥 社区与支持

⭐ Star History

Star History Chart

👥 贡献者

感谢以下所有给 FastapiAdmin 贡献过代码的 开发者。

🙏 鸣谢

如果你觉得项目有用,请给一个 ⭐️ Star 支持!

Popular repositories Loading

  1. FastapiAdmin FastapiAdmin Public

    FastapiAdmin 是一套完全开源的快速开发平台,提供免费使用。它结合了现代、高性能的技术栈,后端采用Fastapi + SQLAlchemy,前端采用基于 vue3 + typescript + vite + pinia + Element-Plus。旨在帮助开发者快速搭建高质量的中后台系统。

    Vue 1.2k 335

  2. FastCloud FastCloud Public

    FastCloud是全栈开源项目,旨在助开发者快速搭建fastapi微服务架构。后端采用 FastAPI + SQLModel + Alembic + JWT 异步编程提升并发,简化数据库操作,实现身份验证与授权,并进行管理版本;实现快速构建,跨平台开发。提供一站式开发方案,高效便捷。

    Vue 34 10

  3. FastTest FastTest Public

    FastTest 是一个完全开源免费的自动化测试框架,旨在整合多种工具和技术,提供全面的API和UI自动化测试解决方案。通过使用Python、pytest、Selenium、pytest-html、requests、openpyxl、pandas、DingTalk、email、Faker、Jenkins等技术,本项目能够帮助开发者高效地进行自动化测试,并生成详细的测试报告。

    Python 13 3

  4. FastClient FastClient Public

    FastClient 是一个现代化的桌面应用,结合了Electron、FastAPI和Vue3的强大功能。应用采用PyInstaller打包方案,实现完全独立的可执行文件,无需用户安装Python环境。

    Vue 13 4