init fragmemo (memo SPA + go backend)

This commit is contained in:
chengongfei
2026-07-29 20:08:09 +08:00
commit 6eec416149
7 changed files with 516 additions and 0 deletions
+115
View File
@@ -0,0 +1,115 @@
---
name: fragmemo-plan
overview: "在 fragmemo 总目录下分三个独立仓库 + docs 构建笔记应用"
todos:
- content: "Phase 1 - 脚手架:memo_server 后端骨架 + memo.fragford.cn 前端骨架"
status: pending
priority: high
- content: "Phase 2 - 用户认证系统:JWT 注册/登录 + 前端登录注册页"
status: pending
priority: high
- content: "Phase 3 - 笔记核心 CRUD:创建/列表/详情/编辑/删除 + Markdown"
status: pending
priority: high
- content: "Phase 4 - 标签系统:标签 CRUD + 笔记打标 + 筛选"
status: pending
priority: high
- content: "Phase 5 - 搜索功能:关键词搜索笔记"
status: pending
priority: medium
- content: "Phase 6 - 图片/文件上传:支持笔记中插入图片"
status: pending
priority: medium
- content: "Phase 7 - 个人主页:用户信息 + 统计"
status: pending
priority: low
- content: "Phase 8 - 部署配套:deploy.sh + 服务器操作清单"
status: pending
priority: high
---
# fragmemo 笔记应用 · 实现计划
## Goal
构建 **fragmemo** 笔记 Web 应用:Markdown 快速记录、标签分类、搜索、图片上传、私密/公开模式。后期扩展鸿蒙 ArkTS App。
## 目录结构
```
/Users/a58/Documents/fragfordspace/
└── fragmemo/ # 总项目目录
├── docs/ # 📚 物料文档
│ ├── memos-main/ # 原版 memos 参考源码
│ └── 方案文档/ # 架构方案、API 设计等
├── memo.fragford.cn/ # 🌐 前端 React 项目(独立 Git 仓库)
│ ├── public/
│ ├── src/
│ │ ├── api/ # API 调用
│ │ ├── hooks/ # React Query
│ │ ├── contexts/ # 状态管理
│ │ ├── components/ # 通用组件
│ │ ├── pages/ # 页面
│ │ └── styles/ # 样式
│ ├── deploy.sh
│ ├── package.json
│ ├── vite.config.ts
│ └── tsconfig.json
├── memo_server/ # ⚙️ 后端 Python 项目(独立 Git 仓库)
│ ├── app/
│ │ ├── main.py # FastAPI 入口
│ │ ├── config.py # 配置
│ │ ├── database.py # 数据库
│ │ ├── exceptions.py # 异常处理
│ │ ├── models/ # ORM 模型
│ │ ├── schemas/ # 数据校验
│ │ ├── routers/ # API 路由
│ │ ├── services/ # 业务逻辑
│ │ └── auth/ # JWT 认证
│ ├── uploads/
│ ├── deploy.sh
│ ├── requirements.txt
│ └── .env
└── frag_memo_app/ # 📱 预留鸿蒙 App(独立 Git 仓库)
└── README.md
```
## 技术栈
| 层 | 技术 |
|----|------|
| 后端 | Python 3.11+ / FastAPI / SQLAlchemy async / PyJWT / bcrypt |
| 前端 | React 18+ / TypeScript / Vite / Tailwind CSS / React Query |
| 数据库 | MySQL 8.0(服务器已有,Phase 8 时你操作) |
## 分工
| 我负责(本地代码) | 你负责(Phase 8 时在服务器操作) |
|-----------------|-----------------------------|
| 全部 Python 后端代码 | 宝塔 Python 项目管理器添加项目 |
| 全部 React 前端代码 | 创建 MySQL 数据库和用户 |
| 部署脚本(deploy.sh | 配置 Nginx 反向代理 |
| 项目文档(README) | 设置环境变量 |
## 设计概要
- **数据库**5 张表(users, memos, tags, memo_tags, files
- **API**RESTful`/api/v1/` 前缀,JWT Bearer 认证
- **前端**:8 个页面(首页、登录、注册、笔记列表、新建/编辑、详情、标签管理、个人主页)
- **部署**:后端用宝塔 Python 项目管理器 + 前端 rsync 静态文件 + Nginx 反代
## 执行顺序
1. **Phase 1**:脚手架搭建(server/ 骨架 + web/ 骨架)
2. **Phase 2**:用户认证(JWT + 登录注册)
3. **Phase 3**:笔记 CRUD(核心功能)
4. **Phase 4**:标签系统
5. **Phase 5**:搜索功能
6. **Phase 6**:图片上传
7. **Phase 7**:个人主页
8. **Phase 8**:部署配套(deploy.sh + 服务器操作指南)
## Verification
每个 Phase 完成后:后端 Swagger UI 测试 + 前端功能走通
## Rollback
- Git revert 回退代码
- Alembic downgrade 回退数据库