Files
2026-01-23 17:42:48 +08:00

109 lines
2.4 KiB
Markdown
Raw Permalink Blame History

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