Vibe Coding一人即团队系列38: 基于AI辅助的后台管理系统功能架构梳理与数据库设计

纲要

  • 项目背景与目标
    • 用户端应用开发完成后的管理需求
    • 后台管理系统的定位:运营监控与数据管理
  • 项目结构规划
    • 前后端代码目录划分
    • 与现有用户端应用的关联
  • AI辅助功能梳理
    • 基于现有代码库的功能点分析
    • 约束条件设定:数据库表结构保护
    • 功能点清单的生成与迭代
  • 核心功能模块解析
    • 数据统计概览
    • 用户管理与交易管理
    • 分类管理与账户类型管理(只读)
    • 管理员独立认证体系
  • 数据库扩展设计
    • 新增管理员表 admins
    • 表结构设计与字段说明
    • 密码加密存储策略
  • 数据库执行方案
    • 手动执行SQL脚本的方式
    • 与AI协作执行方式的对比
  • 需求文档的整理与版本管理

项目背景与目标

在完成用户端应用开发后,通常需要配套的后台管理系统以支撑日常运营工作。后台管理系统的核心使用者为运营专员或产品人员,其职责包括查看注册用户信息、监控用户交易流水(支出与收入)、管理分类数据等。

本次实践的目标是基于现有的用户端应用代码,借助AI辅助工具(Claude)快速梳理出后台管理系统的完整功能架构,并完成数据库扩展设计,为后续前后端开发奠定基础。

项目结构规划

后台管理系统与用户端应用采用相同的代码组织方式,即前后端分离架构。在项目根目录下创建独立的文件夹,内部包含 frontendbackend 两个子目录,分别存放前端与后端代码。

项目目录结构如下:

├── 006-backend-management-system/
│   ├── frontend/
│   │   └── (前端代码,基于现有用户端架构扩展)
│   └── backend/
│       └── (后端代码,复用现有API规范)
├── 003-user-app/
│   └── frontend/
│       └── (现有用户端应用源码)
└── product-docs/
    └── (产品需求文档存放目录)

该结构确保后台管理系统与用户端应用的代码隔离,同时便于复用已有的技术栈和API规范。

AI辅助功能梳理

在手动梳理功能点可能遗漏且耗时的情况下,可借助AI工具对现有代码库进行自动化分析。通过向AI提供当前用户端应用的代码位置与功能目标,可快速生成功能点清单。

交互流程

核心交互流程如下:

数据库代码库AI助手开发者数据库代码库AI助手开发者提供现有应用代码路径描述后台管理系统目标设定约束条件(禁止修改数据库表结构)分析现有API端点与数据模型读取当前表结构(只读)生成功能点清单Markdown文档审阅并补充需求(新增管理员表)更新文档并生成建表SQL执行SQL创建管理员表

约束条件设定

在AI梳理功能点时,必须明确以下前置约束,以防止AI擅自修改数据库结构导致用户端应用异常:

  • 禁止修改现有数据库表结构:不得对已有表的字段、索引、约束进行任何变更。
  • 禁止修改现有API接口:所有后台管理系统的数据获取需通过现有API端点完成。
  • 允许新增独立数据表:仅允许为后台管理系统新增一张管理员表(admins),且该表独立于用户表。

功能点清单生成

AI在分析现有代码库后,会输出一份Markdown格式的功能点清单文档,自动保存到产品文档目录中。该文档包含以下核心章节:

  • 项目描述与目的
  • 前置约束说明
  • 现有API端点分析
  • 功能需求列表
  • 页面结构规划
  • 技术方案建议
  • 待办事项与待确认事项

核心功能模块解析

基于AI梳理的结果,后台管理系统的功能划分为七大核心模块:

模块功能描述数据权限
数据统计概览展示总用户数、交易总笔数、支出/收入汇总只读
七天趋势近七天的用户增长与交易量趋势图表只读
用户管理查看注册用户列表、用户详情信息只读
交易管理查看用户交易流水、支出与收入明细只读
分类管理查看支出分类与收入分类列表只读
账户类型管理查看用户的账户类型配置只读
用户排行按交易量、注册时间等维度的用户排行只读

所有功能模块均遵循只读原则,即后台管理系统仅用于数据查看与监控,不提供新增、修改或删除操作。数据的创建与修改均由用户端应用完成。

页面结构规划

后台管理系统的页面结构采用多级菜单设计:

├── 仪表盘
│   └── 数据概览
├── 用户管理
│   └── 用户列表
├── 交易管理
│   └── 交易流水
├── 数据统计
│   ├── 趋势分析
│   └── 用户排行
├── 分类管理
│   ├── 支出分类
│   └── 收入分类
└── 系统设置
    └── 账户管理

管理员独立认证体系

后台管理系统与用户端应用需采用独立的认证体系,即管理员账户不与普通用户表共用。

设计原则

  • 独立存储:管理员账户存储在独立的 admins 表中。
  • 密码单独加密:管理员密码采用与用户端不同的加密策略,使用独立的盐值或加密算法。
  • 独立登录:后台管理系统使用独立的登录页面与认证接口。

管理员表结构设计

在约束条件下,允许新增一张 admins 表,其核心字段如下:

字段名类型说明
idINT主键,自增
usernameVARCHAR(64)管理员用户名,唯一索引
password_hashVARCHAR(255)加密后的密码哈希值
roleVARCHAR(32)角色标识,默认 super_admin
created_atDATETIME创建时间
updated_atDATETIME更新时间

建表SQL脚本如下:

CREATE TABLE `admins` (
    `id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
    `username` VARCHAR(64) NOT NULL UNIQUE COMMENT '管理员用户名',
    `password_hash` VARCHAR(255) NOT NULL COMMENT '密码哈希值',
    `role` VARCHAR(32) DEFAULT 'super_admin' COMMENT '管理员角色',
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='后台管理员表';

数据库执行方案

管理员表的创建有两种执行方式,开发者可根据实际情况选择。

方式一:手动执行SQL脚本

通过数据库客户端工具直接执行上述建表脚本:

  1. 打开数据库客户端(如MySQL Workbench、phpMyAdmin或命令行)。
  2. 进入查询编辑器,粘贴建表SQL脚本。
  3. 执行脚本,确认返回成功。

执行成功后,可在数据库表列表中看到新增的 admins 表。

方式二:AI辅助执行

可指示AI工具直接连接数据库并执行建表操作。但需注意:

  • 确保数据库连接信息安全,且AI工具具备数据库写入权限。
  • 在执行前,由AI展示完整的SQL脚本供开发者审核。
  • 建议在开发或测试环境中先行验证,再应用于生产环境。

需求文档的整理与版本管理

功能点清单文档应在梳理完成后持续更新,记录需求变更与实施进度。建议的文档管理规范如下:

  • 文档命名:采用 项目名_功能清单.md 的格式。
  • 变更记录:在文档末尾添加变更日志表格,记录每次修改的日期、内容和责任人。
  • 待确认事项:对尚未决策的需求(如导出功能、定时任务等),在文档中明确标记为待确认,并在决策后及时更新。

在本案例中,经过评估后决定:

  • 导出功能:不需要,因现有用户端已具备Excel导出能力。
  • 定时任务:不需要,自动生成报表在大数据量场景下可能引发系统卡顿。

总结

本次后台管理系统的功能架构梳理完整展示了在AI辅助下如何高效完成需求分析、数据库设计与文档管理。核心要点总结如下:

  • 后台管理系统定位为运营监控工具,所有功能模块遵循只读原则,数据变更由用户端应用负责。
  • AI工具(Claude)可基于现有代码库自动生成功能点清单,显著缩短需求梳理周期,但需在交互中明确约束条件以防止误改数据库。
  • 管理员认证体系需独立于普通用户,新增 admins 表是推荐的扩展方式,密码需单独加密存储。
  • 数据库扩展遵循“最小改动”原则,仅新增必要表,不修改已有表结构与API接口。
  • 需求文档应保持可维护性,包含功能描述、技术方案、变更记录和待确认事项,便于团队协作与后续开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值