设计文档目录
本目录包含字词学习平台的产品设计和数据库设计文档。
文档列表
1. requirements.md
产品需求文档
- 项目概述和目标
- 核心功能需求详细说明
- 后台管理功能需求
- 图片处理功能需求
- 用户权限管理需求
- 非功能需求和技术约束
2. database-design.md
数据库设计文档
- 数据库选型分析(推荐 PostgreSQL)
- 数据表详细设计
- 字段说明和索引优化
- 数据关系图
- 性能优化建议
3. ER-diagram.sql
数据库建表 SQL 脚本
- 完整的 PostgreSQL 建表语句
- 包含所有索引和约束
- 触发器定义
- 可直接执行创建数据库结构
设计要点
核心设计决策
-
统一表设计
- 汉字、词语、英语单词、字母使用统一的
words表 - 通过
type字段区分不同类型 - 优点:结构统一、查询便利、维护简单
- 汉字、词语、英语单词、字母使用统一的
-
图片存储策略
- 原图和标准图分别存储
- 支持多图关联
- 主图标记机制
-
关联关系设计
- 字词关联:支持多对多关系
- 句子关联:支持多对多关系
- 使用中间表管理关联关系
-
用户权限设计
- 基于角色的访问控制(RBAC)
- 超级管理员和一般管理员两级权限
- 操作日志记录
数据库选型
推荐:PostgreSQL
理由:
- 关系型数据优势,适合强关联关系
- 原生 JSON/JSONB 支持,灵活存储 SVG 数据
- 全文搜索功能,适合字词搜索
- 数组类型支持,适合存储多个拼音
- 企业级性能,开源免费
快速开始
1. 创建数据库
# 使用 PostgreSQL
createdb doodle_platform
# 执行建表脚本
psql -d doodle_platform -f ER-diagram.sql
2. 数据表结构
words- 字词主表word_images- 图片表word_relations- 字词关联表sentences- 句子表word_sentences- 字词-句子关联表users- 用户表operation_logs- 操作日志表
后续工作
-
API 接口设计
- RESTful API 规范
- 接口文档(Swagger/OpenAPI)
-
前端页面设计
- 字词列表/卡片页面
- 字词编辑页面
- 图片上传页面
- 用户管理页面
-
图片处理服务
- 集成 node-tools 的图片处理功能
- 批量处理接口
- 异步处理队列
-
权限系统实现
- JWT 认证
- 角色权限中间件
- 操作日志记录