Refactor GroupOptions model and update documentation

- Removed the `available_nodes` field from the GroupOptions model in `group.py`.
- Updated imports in `pwd.py` by removing unused imports.
- Added a comprehensive roadmap document outlining the development stages and features for DiskNext Server.
- Created a detailed README for the models directory, documenting the database models and their relationships.
This commit is contained in:
2025-12-19 20:18:36 +08:00
parent f93cb3eedb
commit 6c3a601259
5 changed files with 1208 additions and 23 deletions

275
ROADMAP.md Normal file
View File

@@ -0,0 +1,275 @@
# DiskNext Server 开发路线图
本文档概述 DiskNext Server 的开发计划和进度。项目当前处于 **OMEGA** 实验阶段。
---
## 版本规划
| 阶段 | 版本 | 状态 | 说明 |
|------|------|------|------|
| OMEGA | 0.0.x | **当前** | 实验性开发API 可能频繁变动 |
| Alpha | 0.1.x | 计划中 | 核心功能基本可用 |
| Beta | 0.5.x | 计划中 | 功能完善,开始公测 |
| RC | 0.9.x | 计划中 | 候选发布版本 |
| Stable | 1.0.0 | 计划中 | 正式稳定版本 |
---
## OMEGA 阶段 (v0.0.x) - 当前
### 已完成
#### 基础架构
- [x] FastAPI 应用框架搭建
- [x] SQLModel ORM 集成
- [x] 异步数据库支持 (aiosqlite)
- [x] 项目结构规范化
- [x] 开发规范文档 (CLAUDE.md)
#### 数据模型
- [x] 基类定义 (SQLModelBase, TableBase, UUIDTableBase)
- [x] 用户模型 (User)
- [x] 用户组模型 (Group, GroupOptions)
- [x] 统一对象模型 (Object) - 合并文件和目录
- [x] 存储策略模型 (Policy)
- [x] 分享模型 (Share)
- [x] 标签模型 (Tag)
- [x] WebDAV 模型 (WebDAV)
- [x] 设置模型 (Setting)
- [x] 其他模型 (Order, Redeem, Report, Task, SourceLink, StoragePack, Download, Node)
#### 用户系统
- [x] 用户注册接口
- [x] 用户登录接口 (OAuth2.1 Password Grant)
- [x] JWT 令牌认证
- [x] 获取当前用户信息
- [x] 用户存储空间查询
#### 认证安全
- [x] Argon2 密码哈希
- [x] JWT 令牌生成与验证
- [x] 认证中间件
- [x] 两步验证 (2FA/TOTP) 初始化与启用
- [x] WebAuthn 注册初始化
#### 测试
- [x] pytest 测试框架配置
- [x] 单元测试结构
- [x] 集成测试结构
- [x] 测试夹具 (fixtures)
### 进行中
#### 用户系统
- [ ] WebAuthn 完整流程
- [ ] OAuth 第三方登录 (QQ, GitHub)
- [ ] 用户设置管理
- [ ] 头像上传/Gravatar
#### 目录系统
- [ ] 目录浏览接口
- [ ] 目录创建接口
- [ ] 路径解析优化
#### 存储策略
- [ ] 本地存储策略实现
- [ ] S3 存储策略实现
---
## Alpha 阶段 (v0.1.x) - 计划中
### 文件操作
- [ ] 文件上传(单文件)
- [ ] 文件上传(分块上传)
- [ ] 文件下载
- [ ] 文件预览 URL 生成
- [ ] 缩略图生成
- [ ] 文件移动/复制
- [ ] 文件重命名
- [ ] 文件删除(软删除/回收站)
### 目录操作
- [ ] 目录树查询
- [ ] 目录移动/复制
- [ ] 目录删除(递归)
- [ ] 批量操作
### 存储策略完善
- [ ] 阿里云 OSS 支持
- [ ] 腾讯云 COS 支持
- [ ] 七牛云支持
- [ ] OneDrive 支持
- [ ] 存储策略切换
### 用户组权限
- [ ] 权限验证中间件
- [ ] 存储空间限制
- [ ] 文件类型限制
- [ ] 单文件大小限制
---
## Beta 阶段 (v0.5.x) - 计划中
### 分享功能
- [ ] 创建分享链接
- [ ] 分享密码保护
- [ ] 分享过期时间
- [ ] 分享访问统计
- [ ] 分享页面数据接口
### 离线下载
- [ ] Aria2 RPC 集成
- [ ] qBittorrent API 集成
- [ ] 下载任务管理
- [ ] 下载完成回调
### WebDAV
- [ ] WebDAV 账号管理
- [ ] WebDAV 协议实现
- [ ] WebDAV 代理功能
### 增值服务
- [ ] 积分系统实现
- [ ] 兑换码生成与使用
- [ ] 存储容量包
- [ ] 订单管理
### 管理后台
- [ ] 用户管理接口
- [ ] 用户组管理接口
- [ ] 存储策略管理接口
- [ ] 系统设置接口
- [ ] 任务管理接口
- [ ] 文件管理接口
- [ ] 数据统计接口
---
## RC 阶段 (v0.9.x) - 计划中
### 分布式支持
- [ ] 从节点注册与认证
- [ ] 从节点任务分发
- [ ] 从节点健康检查
- [ ] 负载均衡
### 性能优化
- [ ] 数据库查询优化
- [ ] 缓存层 (Redis)
- [ ] CDN 集成
- [ ] 并发上传优化
### 安全加固
- [ ] 速率限制
- [ ] 安全审计日志
- [ ] 敏感操作二次验证
- [ ] CORS 配置优化
### 在线预览
- [ ] 图片预览
- [ ] 视频播放
- [ ] 音频播放
- [ ] PDF 预览
- [ ] Office 文档预览
- [ ] Markdown 渲染
- [ ] 代码高亮
---
## Stable 阶段 (v1.0.0) - 计划中
### 功能完善
- [ ] 全盘搜索
- [ ] 文件标签
- [ ] 收藏夹
- [ ] 最近访问
- [ ] 回收站
### 国际化
- [ ] i18n 框架集成
- [ ] 多语言错误消息
- [ ] API 文档多语言
### 文档完善
- [ ] API 文档完善
- [ ] 部署文档
- [ ] 开发者文档
- [ ] 用户手册
### 生产就绪
- [ ] Docker 镜像
- [ ] Docker Compose 配置
- [ ] Kubernetes 部署配置
- [ ] 监控指标 (Prometheus)
- [ ] 健康检查端点
---
## 未来展望 (v1.x+)
### 高级功能
- [ ] 文件版本历史
- [ ] 文件加密存储
- [ ] 文件同步客户端 API
- [ ] Subsonic 音乐接口
- [ ] 照片管理(相册、时间线)
- [ ] AI 文件分类与搜索
### 企业功能 (Pro)
- [ ] LDAP/AD 集成
- [ ] SSO 单点登录
- [ ] 审计日志
- [ ] 高级权限控制
- [ ] 企业工作空间
- [ ] 协作功能
### 生态集成
- [ ] Rclone 集成
- [ ] 备份工具集成
- [ ] 移动端 API 优化
- [ ] 桌面客户端支持
---
## 贡献指南
如果你想参与项目开发,可以:
1. 查看上方的待办事项,选择感兴趣的功能
2. 在 Issue 中认领任务
3. 阅读 [CLAUDE.md](CLAUDE.md) 了解开发规范
4. 提交 Pull Request
我们特别欢迎以下方面的贡献:
- 存储策略实现(各类云存储)
- 测试用例编写
- 文档完善
- Bug 修复
---
*最后更新2025年12月*