OpenStock
OpenStock簡介
OpenStock是什么?
OpenStock 是一個開源股票市場工具,可以看作昂貴商業(yè)平臺的免費替代品。它提供實時價格查看、自定義提醒和公司詳細信息等功能,所有服務永久免費,面向個人投資者、學生和開發(fā)者。

OpenStock主要功能
登錄系統(tǒng):使用郵箱密碼登錄,數(shù)據(jù)保存在 MongoDB 中,通過 Next.js 中間件保護頁面訪問
股票搜索:基于 Finnhub 數(shù)據(jù)的快速搜索,空閑時會顯示熱門股票,支持防抖查詢,快捷鍵 Ctrl+K 打開搜索框
自選股管理:每個用戶的自選股票單獨保存在數(shù)據(jù)庫中
股票詳情頁:顯示 TradingView 圖表、技術指標、公司基本信息和財務數(shù)據(jù)
市場總覽:包含股票熱圖、報價和新聞資訊
新手引導:收集用戶所在國家、投資目標和風險偏好等信息
郵件提醒:自動發(fā)送個性化歡迎郵件和每日新聞摘要
OpenStock技術
前端:使用 Next.js 15、React 19 和 TypeScript 開發(fā),界面采用 Tailwind CSS 設計,使用 shadcn/ui 組件庫
數(shù)據(jù):股票數(shù)據(jù)來自 Finnhub API,圖表使用 TradingView 嵌入組件
后端:MongoDB 存儲用戶數(shù)據(jù),Inngest 處理自動化任務,Nodemailer 發(fā)送郵件
OpenStock使用場景
個人投資研究:在自己的服務器上搭建,避免訂閱費用
教學項目:可用于金融、數(shù)據(jù)可視化等課程的實踐項目
小型投資社群:可部署給團隊成員使用,便于內(nèi)部信息共享
OpenStock部署方式:
前置條件:Node.js 20+、pnpm 或 npm、MongoDB 連接字符串(Atlas 或本地)、Finnhub API Key(免費層可能有延遲)、可選 Gmail(或 SMTP)、可選 Gemini API Key。
本地開發(fā):
克隆與安裝:git clone https://github.com/Open-Dev-Society/OpenStock.git && cd OpenStock && pnpm install(或 npm install)
配置 .env并驗證數(shù)據(jù)庫:pnpm test:db
啟動開發(fā):pnpm dev(或 npm run dev)
本地運行 Inngest:npx inngest-cli@latest dev
訪問:http://localhost:3000
Docker 部署:
啟動服務:docker compose up -d mongodb && docker compose up -d --build
本地 MongoDB 連接示例:MONGODB_URI=mongodb://root:example@mongodb:27017/openstock?authSource=admin
訪問:http://localhost:3000
關鍵環(huán)境變量(示例):
MONGODB_URI、BETTER_AUTH_SECRET、BETTER_AUTH_URL=http://localhost:3000 FINNHUB_API_KEY、FINNHUB_BASE_URL=https://finnhub.io/api/v1(可選 NEXT_PUBLIC_FINNHUB_API_KEY) GEMINI_API_KEY(可選) NODEMAILER_EMAIL、NODEMAILER_PASSWORD(生產(chǎn)建議用專用 SMTP 服務 )
注意事項:
OpenStock僅供信息展示,不提供實際交易功能
免費數(shù)據(jù)源可能有延遲,使用時需遵守相關服務條款
建議生產(chǎn)環(huán)境使用專業(yè)郵件服務而非個人 Gmail 賬號
OpenStock相當于免費版的自托管股票行情軟件,代碼完全開源,基于現(xiàn)代 TypeScript 技術棧,本地運行簡單,可根據(jù)需要進行定制修改。
提交您的產(chǎn)品
Ai應用
Ai資訊
AI生圖
AI生視頻
開源AI應用平臺


