a0486da313
Update the document to include the latest changes: file continuation, introduction of Zustand to the front-end architecture.
64 lines
4.4 KiB
Markdown
64 lines
4.4 KiB
Markdown
# PrivyDrop 项目发展路线图
|
||
|
||
欢迎来到 PrivyDrop 的官方路线图!本文档将详细阐述我们对未来的愿景,以及计划中的功能和改进。我们的目标是构建最安全、最私密、最友好的 P2P 文件分享解决方案。
|
||
|
||
这份路线图是一份动态文档,我们真诚地欢迎社区的反馈和贡献。如果你有任何想法,或希望帮助我们共创 PrivyDrop 的未来,请随时开启一个 [Issue](https://github.com/david-bai00/PrivyDrop/issues) 或提交一个 [Pull Request](https://github.com/david-bai00/PrivyDrop/pulls)!
|
||
|
||
---
|
||
|
||
## ✅ 已完成
|
||
|
||
- **核心架构重构 (2025年Q3)**: 成功地将整个前端代码库重构为现代化的分层架构。
|
||
- 实现了一个与框架无关的**服务层** (`webrtcService`),用于封装所有 WebRTC 和业务逻辑。
|
||
- 引入 **Zustand** (`fileTransferStore`) 进行中心化的、可预测的状态管理。
|
||
- 将 UI 组件与业务逻辑解耦,建立了清晰的单向数据流。
|
||
- **文件断点续传 (2025年Q3):** 实现了稳健的断点续传逻辑。通过设置保存目录,接收方能够检查已部分下载的文件,并仅请求缺失的数据块,极大地提升了大文件和不稳定网络下的传输成功率。
|
||
|
||
---
|
||
|
||
## 短期目标 (未来 1-3 个月)
|
||
|
||
本阶段将专注于完善现有功能、提升核心体验的可靠性,为项目打下更坚实的基础。
|
||
|
||
- **连接稳定性增强:** 目前,使用默认 4 位数字 ID 的房间已支持短时间(例如 15 分钟)内断线重连。未来将此特性扩展到自定义名称的房间,并提供更长的重连窗口(例如 1 小时)。
|
||
- **精细化传输错误处理:** 当传输失败时,向用户提供更清晰、具体的反馈(例如:"对方已断开连接"、"浏览器存储空间不足"、"网络中断")。
|
||
|
||
---
|
||
|
||
## 中期目标 (未来 3-9 个月)
|
||
|
||
本阶段将引入强大的新功能,将 PrivyDrop 的应用场景从一对一的文件传输拓展到更广阔的领域。
|
||
|
||
- **[重大功能] P2P 群组聊天:** 虽然目前已支持多人加入同一房间,但此功能将增加一个简洁的、基于主持人的群聊系统。房间创建者将作为中心节点,负责将加密的文本和文件转发给所有其他参与者,实现基础的群组协作。
|
||
- **阅后即焚的消息与文件:** 允许用户发送在被读取或设定时间后自动销毁的文件或文本消息。
|
||
- **剪贴板同步:** 增加一个专门的模式,用于在连接的设备之间实时同步剪贴板内容(文本和图片)。
|
||
- **官方 Docker 支持:** 提供并维护官方的 `Dockerfile` 和 `docker-compose.yml` 配置,实现一键部署整个技术栈(前端、后端、Redis、Coturn),极大地方便自托管用户。
|
||
- **包体积优化:** 定期使用 `@next/bundle-analyzer` 分析前端打包体积,通过代码分割等手段进行优化,保持应用的轻量化。
|
||
|
||
### 性能与部署
|
||
|
||
- **官方 Docker 支持:** 提供并维护官方的 `Dockerfile` 和 `docker-compose.yml` 配置,实现一键部署整个技术栈(前端、后端、Redis、Coturn),极大地方便自托管用户。
|
||
- **包体积优化:** 定期使用 `@next/bundle-analyzer` 分析前端打包体积,通过代码分割等手段进行优化,保持应用的轻量化。
|
||
|
||
### 用户体验 (UX)
|
||
|
||
- to be define
|
||
|
||
---
|
||
|
||
## 未来探索与社区驱动
|
||
|
||
本部分用于记录那些不在当前核心规划中,但对社区贡献开放的绝佳想法。
|
||
|
||
- **代码测试覆盖:** 近期的架构重构使得代码库的可测试性大大增强。我们现在计划引入测试框架(如 Vitest),为核心的 `webrtcService` 和 Zustand store 添加单元测试,以提升代码质量、保障社区贡献的安全性。我们非常欢迎社区在此方面做出贡献。
|
||
- **你的想法:** 你是否对浏览器扩展、屏幕共享、P2P 媒体流等高级功能有很棒的想法?欢迎通过 Issue 发起讨论!我们相信最好的创意来自社区。
|
||
|
||
## 如何贡献
|
||
|
||
你的贡献对于将这份路线图变为现实至关重要!
|
||
|
||
1. **认领任务:** 寻找被标记为 `help wanted` 或 `good first issue` 的 Issue。
|
||
2. **发起讨论:** 如果你对路线图中某个项目感兴趣,欢迎发起一个讨论来分享你的想法。
|
||
3. **提交代码:** Fork 仓库,创建你的功能分支,然后提交 Pull Request。
|
||
|
||
感谢你成为 PrivyDrop 社区的一员!让我们一起共创私人分享的未来。 |