项目源码|FastapiAdmin 全栈后台管理系统|FastAPI + Vue 3 · Docker 一键部署

项目源码|FastapiAdmin 全栈后台管理系统|FastAPI + Vue 3 · Docker 一键部署-远影归灯
项目源码|FastapiAdmin 全栈后台管理系统|FastAPI + Vue 3 · Docker 一键部署
此内容为付费资源,请付费后查看
60积分
付费资源

Python 技术栈的课设/毕设,常卡在「后端接口写得出,后台权限与菜单却拼不成故事」:角色怎么分、按钮级权限怎么控、代码生成与定时任务怎么演示。这篇整理的是一套前后端分离的全栈后台底座:FastAPI 异步后端 + Vue 3 管理端,自带 RBAC、用户/角色/菜单、代码生成、定时任务与统一文件存储;首次启动可自动建表并写入演示数据,适合在其上二开成绩、选课、图书等管理系统。

本机已按源码 + Docker(MySQL/Redis)路径实跑:前端可开、健康检查通过、管理员可完成拼图并登录。资源含界面截图与完整源码包(积分约 60,以站内资源页为准)。适合「Python 后台/RBAC/代码生成」答辩演示;不是可直接裸奔公网的生产后台。

能做什么

  • 权限与组织:用户、角色、菜单/按钮权限、部门与岗位;数据权限可区分「全部/本人」等范围
  • 工作台:登录后首页看板、在线用户与基础监控入口
  • 开发效率:选表生成前后端代码;Swagger 接口文档
  • 任务与运维:定时任务调度器监控、节点与流程相关能力;可选 SQL/SSH 运维入口(按菜单为准)
  • 扩展模块:文件/对象存储、轻量内部聊天、可选 AI 对话等,可用配置裁剪,不必一次全开
  • 多端方向:仓库含 Web 管理端与 UniApp 移动端工程;本机验收以 Web 为主,移动端可按文档另起 H5

相对「只有几张 CRUD 表」的课设,本文更强调RBAC 闭环 + 代码生成 + 定时任务 + 可一键依赖,报告可按「权限模型 → 生成器 → 调度/部署」三条线讲。

技术栈一览

层级 技术
后端 Python ≥3.12、FastAPI、Pydantic 2、SQLAlchemy 2、Alembic、Redis
Web Vue 3、TypeScript、Vite、Element Plus、Pinia
移动端(可选) UniApp(H5/小程序/App 同一套工程)
数据 MySQL 8+(亦可 PostgreSQL/SQLite,按文档切换)
部署 Docker Compose(Nginx,可选 SSL)、或本机源码调试

环境与资源提醒

  • 源码跑:Python ≥3.12、Node ≥20 + pnpm、MySQL、Redis
  • Docker 跑:Docker 与 Compose;首次需填 MySQL/Redis 密码与 SECRET_KEY
  • 后端默认 8001,Web 开发默认 5173(本机冲突时可改端口);浏览器入口多为 /web,路由为 hash
  • 登录依赖 Redis:拼图验证码状态写在 Redis,Redis 不通会登录失败
  • 国内拉 Python/前端依赖可换镜像;仓库默认可能指向国内 PyPI 镜像,若 403 再改官方源
  • 当前设计偏单实例(实时聊天 WebSocket、本地调度器);水平扩展需自行改架构

源码方式部署(本机已跑通)

  1. 解压源码包,进入项目根目录(含 backend/、frontend/、docker/)。
  2. 配置后端环境:
cp backend/env/.env.example backend/env/.env.dev
# 至少修改:DATABASE_*、REDIS_*、SECRET_KEY
# 建议:口令用字母数字,避免特殊字符在连接串里被百分号编码后干扰 Alembic
  1. 准备 MySQL 库(例如 fastapiadmin)与 Redis,保证端口与 .env.dev 一致。
  2. 安装并启动后端(需 MySQL extra):
cd backend
uv sync --extra mysql
uv run main.py run --env=dev
# 健康检查:http://127.0.0.1:8001/api/v1/monitor/health/check
  1. 启动 Web:
cd frontend/web
cp .env.development.example .env.development
pnpm install
pnpm run dev
# 浏览器打开提示的本地地址(常见为 http://127.0.0.1:5173/web )
  1. 使用演示账号登录(口令见包内 README 演示说明,正文与截图勿写明文)。首次需拖动拼图完成验证。

Docker Compose 部署(通用流程)

适合希望 Nginx 反代、一键起依赖的同学(本机因 Docker 网络策略对 Compose 做过 host 适配,你在常规 Linux/macOS 上按仓库 docker/README.md 即可):

cp docker/.env.example docker/.env
# 填写 MYSQL_ROOT_PASSWORD、MYSQL_PASSWORD、REDIS_PASSWORD、SECRET_KEY 等
# 本地测试可先关 SSL/按文档调整 HTTP 端口
./deploy.sh
# 需要前端产物时:./deploy.sh --build-frontend

常用排障:

  • 构建/拉依赖失败:换镜像源、检查 Docker 网络
  • 端口占用:改 .env 中 BACKEND_PORT/HTTP_PORT/数据库映射端口
  • 登录失败:先确认 Redis 健康与验证码接口;再查后端日志
  • 半道失败导致表已存在:空库重建或按 Alembic 文档处理,勿反复盲启

演示账号说明

初始化后一般有超级管理员/管理员/普通用户等演示账号(以包内说明为准)。演示口令偏弱,仅限本机课设演示。上公网或给同学共用前务必:

  • 修改所有默认账号密码
  • 轮换 SECRET_KEY/数据加密密钥
  • 收紧 MySQL、Redis、后台端口暴露面
  • 保持 SCHEDULER_ALLOW_CODE_EXEC=false(开启等于允许任务执行用户代码)

界面截图(本机实跑)

1. 运行状态(MySQL/Redis 容器 + 后端/前端端口与健康检查)

运行状态

2. 登录页(含拼图验证)

登录页拼图

3. 首页工作台

首页看板

4. 用户管理

用户管理

5. 角色管理

角色管理

6. 菜单管理

菜单管理

7. 代码生成

代码生成

8. 定时任务/调度器监控

定时任务

9. 移动视口登录(Web 响应式;完整 UniApp H5 可按文档另起)

移动端登录

实测踩坑摘要

  • 数据库口令尽量避免 ! 等需 URL 编码的字符,否则 Alembic 配置解析可能直接启动失败
  • 必须安装 MySQL 驱动 extra(uv sync --extra mysql),否则连不上库
  • 前端若 5173 被占用,改 VITE_PORT 即可;注意访问路径带 /web
  • 拼图强依赖 Redis;只起后端不起 Redis 会卡在登录
  • 首次初始化中断后可能表冲突,建议空库重来更干净

风险与适用边界

  • 默认弱口令与演示数据:截图已尽量避开明文口令;切勿原样用于公网
  • 单实例实时能力:聊天与调度器不要按多副本想当然扩展
  • 代码块定时任务:默认关闭执行用户代码;确需开启需最小权限与审计
  • 适用:课设/毕设底座、中小型内部后台二开;不适用开箱即用的完整 IM 或未加固的公网生产

资源说明

附件为完整源码包(已去除 .git、依赖目录与本地密钥文件)。解压后按上文「源码方式」或「Docker」任选其一即可复现本机验收路径。积分约 60,分类建议放在技术笔记;下载后请先改密再谈二次开发。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容