后端 独立开发 目录:E:\note\1\JNote
JNote 云同步 API
Kotlin + Spring Boot 3 模块化单体,为笔记客户端提供云同步 API(ADR-001 V1)。邮箱验证码鉴权、笔记/标签增量 push/pull(LWW + 冲突副本)、附件 Blob、Flyway 与健康检查。V1 明确不做协作编辑、CRDT、MQ/K8s。
模块 / 架构
common · auth · sync · blob · app(聚合启动 /health)
技术栈
KotlinSpring Boot 3PostgresFlywayOpenAPIJWTGradle 多模块
要点
- 鉴权:发码/校验、设密/改密、登录与 refresh;JWT 过滤器在 common
- sync:批量 upsert(可选 Idempotency-Key)、pull since cursor;冲突按 revisedAt LWW,落败方生成「冲突副本」笔记
- blob:LocalFs 存 ./data/blobs,multipart ≤20MB,鉴权下载
- OpenAPI 规格文件驱动;测试覆盖 LWW、幂等重放、pull cursor 与 /health(H2 PG 模式)
- V1 MUST:正文含 trash/archive/pin、附件、删态、labels;OUT:widget、分享协作、CRDT