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

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


