Files
platform-pipi/packages/design-document
2026-01-23 17:42:48 +08:00
..
2026-01-23 17:42:48 +08:00
2026-01-23 17:42:48 +08:00
2026-01-23 17:42:48 +08:00

设计文档目录

本目录包含字词学习平台的产品设计和数据库设计文档。

文档列表

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. 创建数据库

# 使用 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 认证
    • 角色权限中间件
    • 操作日志记录