feat:初始化项目

This commit is contained in:
R524809
2026-01-23 17:42:48 +08:00
commit d4fc8f44ee
107 changed files with 17487 additions and 0 deletions
+108
View File
@@ -0,0 +1,108 @@
# 设计文档目录
本目录包含字词学习平台的产品设计和数据库设计文档。
## 文档列表
### 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 认证
- 角色权限中间件
- 操作日志记录