我用 AI 在过年期间开发了一个文档在线管理系统

查看 8|回复 0
作者:lifei6671   
我是原 MinDoc 的作者,是刚开始学 Golang 时开发一个项目,后面因为工作忙没时间维护了。
今年 Vide Coding 大火,过年期间使用 Codex 耗费 两个账号的双倍流量终于开发了一个新项目。
PlainDoc 是一个真正可落地的文档平台,而不是“仅能写 Markdown 的编辑器”。
我们希望它帮助团队实现三件事:
  • 用 Markdown 快速搭建团队知识库/技术文档库
  • 提供“编辑、阅读、管理”一体化能力,而不是单纯编辑器
  • 以最低维护成本长期运行(单体部署、权限治理、可观测)

    适用场景:
  • 团队内部知识沉淀
  • 技术文档中心
  • 小中型项目文档门户
  • 运维手册/流程文档管理

    核心功能与亮点
    功能
  • 空间与文档树:支持空间、目录、文档的层级组织
  • Markdown 编辑:左树 + 中间编辑 + 右侧预览的工作台体验
  • 阅读系统:独立阅读页(/r/:spaceId/:docId),适合分享与访问
  • 权限模型:owner / collaborator / reader 多角色访问控制
  • 版本能力:文档版本号、冲突检测、修订记录
  • 图片链路:上传、鉴权、静态回源、Markdown 直接渲染
  • 后台治理:用户、空间、文档、主题、系统配置、审计管理

    亮点
  • 轻量但完整:一套系统同时覆盖编辑、阅读、权限与后台治理
  • 单体部署体验:Go 主服务 + Node SSR Worker 子进程,无需独立 Node SSR 服务
  • 渲染一致性:阅读 SSR 与编辑器预览复用同一套 Markdown 渲染链路

  • 双 SSR 架构:
  • 首页/分类页:Go 模板 SSR
  • 阅读页:React SSR (由 Go 调度 Worker )
  • 开发和生产都顺手:前端统一走后端 API 模式(http),联调与生产一致
  • 工程化可维护:统一响应协议、错误码体系、Docker + Compose 开箱部署

    技术栈
    后端(apps/server)
  • Go 1.26
  • Gin 1.11
  • GORM 1.31
  • 数据库驱动:SQLite / MySQL / PostgreSQL
  • 默认 SQLite 驱动:modernc.org/sqlite

    前端(apps/web)
  • React 19
  • Vite 7
  • TypeScript 5.9
  • CodeMirror 6
  • React Markdown + remark/rehype 渲染链
  • Mermaid / KaTeX / 语法高亮

    SSR
  • 首页/分类页:Go html/template
  • 阅读页:Go 通过 stdin/stdout 调用 Node SSR Worker (非独立 Node 服务)





    项目地址: https://github.com/lifei6671/plaindoc
    官网: https://www.iminho.me
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部