# 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 社区的一员！让我们一起共创私人分享的未来。