ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenStock实战体验:三步搭建免费实时股票看板的完整指南

OpenStock实战体验:三步搭建免费实时股票看板的完整指南 OpenStock实战体验三步搭建免费实时股票看板的完整指南【免费下载链接】OpenStockOpenStock is an open-source alternative to expensive market platforms. Track real-time prices, set personalized alerts, and explore detailed company insights — built openly, for everyone, forever free.项目地址: https://gitcode.com/GitHub_Trending/ope/OpenStock免费实时行情数据去哪找我用OpenStock这个开源股票分析看板试了一周——实时报价、个性化价格提醒、公司详细资料全部不花钱、不订阅。这篇记录我跑通它、用它、翻它源码的全过程。三步跑通本地部署从clone到打开首页前提很简单Node.js 20一个MongoDB实例本地或云端Atlas均可再加一个Finnhub的免费API密钥。核心步骤就三条命令拿代码git clone https://gitcode.com/gh_mirrors/ope/OpenStock装依赖npm install在根目录建.env至少写三样东西MONGODB_URI数据库连接串、NEXT_PUBLIC_FINNHUB_API_KEY行情源密钥、BETTER_AUTH_SECRET登录加密密钥然后npm run dev浏览器打开 http://localhost:3000 就能看到深色主题的界面了。不确定数据库通不通仓库自带 test:db 校验脚本scripts/test-db.mjs跑一下即可。功能走查从我想做什么开始找一只股票只要三秒任意位置按Cmd KWindows下是Ctrl K全局搜索面板立刻弹出实现在 components/SearchCommand.tsx。输入代码或公司名结果来自Finnhub的搜索接口什么都不输时展示热门股票列表。我注意到搜索做了防抖——hooks/useDebounce.ts 里是个标准的停手才触发实现你打字过程中不会一次次打API等停顿下来才真正发请求对免费额度的保护很到位。建自选股再给关键价位设提醒把股票加进自选只需点一下数据按用户独立存放。database/models/watchlist.model.ts 给 (userId, symbol) 建了唯一索引同一只票不会重复添加。自选页components/watchlist/把报价、涨跌、市值和关注股票的近期新闻排在同一屏。更有用的是价格提醒database/models/alert.model.ts 支持 ABOVE / BELOW 两个方向和目标价提醒90天后自动过期。相当于把付费平台才有的突破关键价位通知我功能白拿了 ⏰一眼看全局首页是双栏布局左侧报价列表右侧TradingView的股票热力图按行业分块着色当天哪个板块强哪个板块弱扫一眼就懂。个股详情页app/(root)/stocks//stocks/)里K线图、公司档案、财务数据全靠TradingView嵌入组件图表引擎不用自己造轮子。背后原理这个看板到底怎么跑行情数据从哪来主力数据源是Finnhub请求集中在 lib/actions/finnhub.actions.ts股票搜索、公司资料、公司新闻都走它的接口。K线、热力图、报价则用TradingView的widget嵌入另有一个可选的Adanos情绪接口把Reddit、X、新闻面的情绪汇总成一张卡片不装也能正常用。登录认证怎么工作邮箱加密码登录由Better Auth承担用户数据落MongoDB。守门的是 middleware/index.ts请求里没有会话cookie就直接重定向到登录页白名单只放行登录、注册和静态资源。换句话说除注册登录外所有功能都要先登录。缓存是怎么做的这部分让我有点惊喜 不同数据配不同寿命公司资料缓存24小时新闻5分钟搜索结果30分钟而实时报价明确不缓存、每次重新请求。慢变的东西不反复打API快变的东西保证新鲜分工很清晰免费额度和实时性都照顾到了。实战心得我踩到的坑免费层有延迟 ⚠️非美股在Finnhub免费层延迟15分钟以上我起初以为是数据坏了后来才看懂是免费层规则。支持哪些交易所、哪些市场有限制MARKET_SUPPORT.md 里写得很明白TradingView免费层有限制部分新兴市场如印度NSE的代码在应用里显示不全邮件功能要多配一步AI个性化欢迎邮件和每日新闻摘要依赖Inngest工作流lib/inngest/functions.ts加Nodemailer本地开发要单独起Inngest CLI邮箱建议用Gmail应用专用密码。不配也不影响核心功能直接跳过即可留意NEXT_PUBLIC_前缀带这个前缀的环境变量会暴露给浏览器正式部署前建议把密钥挪到服务端Gemini密钥是可选的只影响AI欢迎邮件不配照样用适合谁用这份开源股票看板的用户画像想零成本拿实时数据和提醒的个人投资者想搭一个属于自己行情看板的金融学习者想参考 Next.js MongoDB 全栈写法的开发者server actions全在 lib/actions/代码结构干净照着学很快许可证是AGPL-3.0免费用但如果你改造后以服务形式部署需要同样开源。总结它值不值得试完全免费、无订阅门槛支持30交易所三条命令跑起来Docker Compose里连MongoDB都备好了按数据类型分层的缓存策略实时性和API额度两头兼顾自选、价格提醒、全局搜索功能完整不是半成品它是社区项目而非券商工具数据遵循免费层延迟规则不构成投资建议【免费下载链接】OpenStockOpenStock is an open-source alternative to expensive market platforms. Track real-time prices, set personalized alerts, and explore detailed company insights — built openly, for everyone, forever free.项目地址: https://gitcode.com/GitHub_Trending/ope/OpenStock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表