Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

sanniou/Thread

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

432 Commits
432 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thread - 通用信息流聚合平台

Thread 是一个基于 Kotlin Multiplatform 构建的通用信息流平台。 我们的愿景是将互联网上碎片化的信息(如论坛讨论、社交动态、深度文章)抽象为标准化的数据流,通过统一、现代且高效的界面呈现给用户。

✨ 核心特性 (Core Features)

我们不再为每个来源(Source)构建独立的 App 或模块,而是提供三个高度抽象的通用业务模块:

  1. 通用论坛 (Forum):

    • 专为“板块-帖子-回复”结构设计。
    • 支持 Tieba (贴吧), NGA, Reddit, Discuz 等社区型数据源。
    • 统一的楼层浏览体验与交互。
  2. 通用信息流 (Feed):

    • 专为“社交动态/时间线”结构设计,侧重短内容与实时互动。
    • 支持 Twitter, Weibo (微博), Mastodon, Bluesky 等社交媒体流。
    • 提供聚合时间线阅读体验。
  3. 通用阅读器 (Reader):

    • 专为“内容订阅/沉浸式阅读”设计,侧重长文章与排版体验。
    • 支持 RSS/Atom, 固定链接 (URL 解析), JSON 订阅源, HTML 解析
    • 提供纯净的阅读模式 (Readability)。

🏛️ 架构 (Architecture)

项目严格遵循 Clean Architecture (整洁架构) 与 MVI (Model-View-Intent) 模式。

1. 模块化设计

  • composeApp: 应用主入口,负责导航与依赖注入初始化。
  • core-domain: 核心大脑。定义 UseCase(业务逻辑)和 Repository 接口。纯 Kotlin,无平台依赖。
  • core-data: 数据引擎。负责实现 Repository,管理 API (Ktorfit) 和 数据库 (SQLDelight)。
  • core-ui: 设计系统。包含主题、通用组件、尺寸定义。
  • feature-forum: 通用论坛业务 UI。
  • feature-feed: 通用社交流业务 UI。
  • feature-reader: 通用阅读器业务 UI。

2. 技术栈

  • Kotlin Multiplatform: 共享逻辑的核心。
  • Compose Multiplatform: 声明式 UI 框架。
  • Voyager: 跨平台导航。
  • Kodein: 依赖注入。
  • Ktorfit / Ktor: 网络请求。
  • SQLDelight: 数据库与缓存。

💻 开发指南 (Development Guide)

添加新的数据源 (Source)

添加一个新源(例如 Tieba)不再需要创建新的 UI 模块,只需在 core-data 中实现数据适配:

  1. 数据层 (core-data):
    • source/ 下新建 tieba 包。
    • 实现 API 定义和 TiebaSource
    • 将数据映射为 Domain 层的通用模型 (Post, Comment)。
  2. 注册:
    • SourceRepository 中注册新源。
  3. UI:
    • feature-forum 会自动通过通用接口展示来自 Tieba 的内容。

📈 路线图 (Roadmap)

  • 架构重构: 完成 Domain/Data 分层与 MVI 模式确立。
  • 核心抽象: 定义 Source、Repository 等核心接口。
  • Feature - Forum: 构建通用论坛模块,接管原 feature-nmb 功能。
  • Feature - Feed: 构建通用社交流模块,支持 Mastodon/Twitter。
  • Feature - Reader: 构建通用阅读模块,支持 RSS/URL 解析。
  • 数据同步: 支持 WebDAV 数据备份与同步。

🚀 构建与运行

  1. 环境: JDK 17+, Android Studio.
  2. 构建: ./gradlew build
  3. 运行:
    • Android: Run composeApp.
    • Desktop: ./gradlew :composeApp:run

📚 参考资料 (References)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.