
如果你最近正好在看金融类移动应用的开源项目,这个仓库值得点开看一遍。
它叫 MarketNews。
GitHub 仓库地址是:https://github.com/hypier/market-trend-news-app
项目官网是:https://marketrendnews.top/

我觉得它有意思,不是因为它又做了一个“看起来很完整”的演示,而是因为它把一款股票市场 App 真正难做的几件事串了起来:
• 移动端界面不是壳子,包含行情、自选股、新闻、搜索、股票详情、持仓等完整页面。 • 后端不是假接口,已经接上了 Cloudflare Workers、D1、KV、Clerk 和 tradingviewapi.com提供的行情数据。• 部署路径不是一句“自行研究”,仓库里把本地开发、环境变量、数据库迁移、EAS 构建和上架流程都写出来了。
对于想做行情产品、资讯产品,或者想找一个 React Native + Cloudflare Workers 的完整范例的人,这类项目的参考价值会比一个单页 Demo 大很多。
先看它到底开源了什么
这个仓库是一个标准的 monorepo,根目录下分成两个核心子项目:
market-trend-news-app/├── navtrend-api/ # 后端 API:Hono + Cloudflare Workers + D1 + KV└── navtrend-lite/ # 移动端:React Native + Expo Router从 README 和源码能确认,这个项目已经覆盖了下面这些能力:
• 实时行情和股票报价 • TradingView K 线图和技术指标 • 按股票聚合的市场新闻 • 自选股列表和同步 • 持仓管理、均价、盈亏展示 • 排行榜和市场热门榜单 • Clerk 登录认证 • 多语言支持
这不是“做了一个行情页”,而是已经把一款股票 App 里用户最常碰到的主路径铺出来了。
上面这张图很能说明问题。股票详情页里不只是价格和涨跌,还包括图表、关键数据、相关内容和交互入口。对于二开项目来说,这意味着你拿到的不只是 UI 截图,而是一条已经写进代码里的用户路径。
为什么说它不是一个简单模板
很多开源移动项目的问题是,前端能跑,后端是假的;或者后端能跑,移动端只有几张静态页面。MarketNews / NavTrend 比较难得的一点,是它把“完整链路”做出来了。
1. 移动端部分已经有产品形态
从 navtrend-lite 的代码和 README 可以确认,这个 App 用的是:
• React Native 0.81 • Expo 54 • Expo Router • Zustand • Clerk • TradingView Charts API • PostHog • Hermes • React Native 新架构
而且 Tab 结构已经比较完整,代码里能直接看到 trading、watchlist、news、wealth、profile 这些页面入口。也就是说,它不是“只有一个首页”,而是把用户日常会用到的主要信息架构搭好了。
新闻和搜索这两块尤其重要。很多人做金融 App,会先把图表做出来,但最后发现内容分发和标的检索才是留存的基础功能。这个项目把这两块也一起放进去了。
2. 后端部分不是临时拼出来的
navtrend-api 的技术栈也比较务实:
• Hono 作为 Web 框架 • Cloudflare Workers 作为运行环境 • Cloudflare D1 存用户、持仓、自选股 • Cloudflare KV 做行情缓存 • Drizzle ORM 处理数据层 • Vitest + Miniflare 做测试
API 路由也不是只剩一个 /ping。仓库里已经有这些接口分组:
• /api/v1/auth• /api/v1/portfolio• /api/v1/watchlist• /api/v1/tv/technical-analysis/:symbol• /api/v1/tv/quote/:symbol• /api/v1/tv/price/:symbol• /api/v1/tv/news• /api/v1/tv/leaderboards/...• /api/v1/update
另外,后端还挂了 Swagger UI,打开 /docs 就能看 OpenAPI 文档。这对二开、联调、接手项目的人都很友好。
这里还有一个很实际的点要说明白:这个项目的行情数据不是“开源仓库自带”的。README 里写得很明确,行情数据提供方是 tradingviewapi.com,接入方式是通过 RapidAPI 订阅。也就是说,这部分是 付费 API,如果你准备把项目真正跑起来,需要把这块数据成本算进去。
3. 安全和部署也考虑到了
项目里有一个我觉得很实用的设计:移动端请求不是裸调 API,而是带上 timestamp.signature 形式的 HMAC-SHA256 签名,后端中间件会校验时间窗口和签名内容。同时,用户身份再通过 Clerk 的 JWT 来确认。
这套方式不神秘,但很实用。它至少说明一件事:作者考虑的是“真正给 App 用的接口”,而不是本地能通就结束。
架构大致是这样:
Mobile App (Expo) │ HTTPS + HMAC-SHA256 ▼navtrend-api (Cloudflare Workers) │ ├── D1 Database ├── KV Cache └── TradingView API via RapidAPI适合什么人直接拿来用
如果你是下面几类人,这个项目会比较省时间:
• 想做一款美股、港股或全球市场资讯 App 的独立开发者 • 需要一个 React Native + Expo 的完整金融产品骨架 • 想学习 Cloudflare Workers + D1 + KV 怎么给移动端做后端 • 想把 TradingView 行情、图表、新闻整合进自己的产品 • 想找一个带登录、持仓、自选股、搜索、排行榜的成型参考项目
它不是那种“你只能读源码,没法落地”的仓库。README 里把本地开发、环境变量、Wrangler、EAS Build、App Store / Google Play 提交流程都写出来了,路径是清楚的。
但也别把它想得太轻
这个项目虽然开源,但不是零成本项目。
如果你要真的把它跑起来并长期维护,至少还需要准备这些外部条件:
• Cloudflare 账号 • Clerk 账号 • RapidAPI 的 tradingviewapi.com行情数据订阅,这是付费 API• Expo / EAS 账号 • Apple Developer 和 Google Play 开发者账号
换句话说,它适合的是“认真做产品”的人,不是“我想本地点一下就永久免费上线”的人。
这反而是它真实的地方。金融数据、认证、构建、上架,本来就不是一句开源就能抹平的成本。一个项目把这些依赖写清楚,比假装一切免费更有参考价值。
我觉得这个项目最值钱的部分
不是某一张页面,也不是某一个技术选型,而是它把下面这几件事同时做了:
• 给了可以继续改的移动端界面 • 给了可以继续扩展的后端 API • 给了真实的数据接入路径 • 给了用户体系和数据存储方案 • 给了部署到生产环境的操作说明
这五件事放在一起,才让一个开源仓库从“代码示例”变成“产品起点”。
如果你正准备做一款行情、资讯或投资组合类 App,这个仓库最有价值的地方不是让你直接照抄,而是帮你省掉前期那几周最容易踩坑的搭架子时间。
项目链接
• GitHub: https://github.com/hypier/market-trend-news-app• 官网: https://marketrendnews.top/• 行情数据 API: https://www.tradingviewapi.com/(通过 RapidAPI 订阅,付费)• 根文档: README.zh.md• 移动端文档: navtrend-lite/README.zh.md• 后端文档: navtrend-api/README.zh.md
结尾
开源项目很多,但真正把“移动端产品界面 + 后端接口 + 数据源接入 + 部署说明”一起交出来的项目并不多。
MarketNews 属于那种你可以认真 clone 下来研究,甚至直接拿去二开的仓库。它不完美,也不是一键创业模板,但它已经把最难的 0 到 1 骨架搭好了。
如果你最近正好在找一个能落地的金融类开源项目,这个仓库值得收藏。
夜雨聆风