← 所有精選

★ GitHub Trending 精選

每日一個爆紅開源專案

日榜 #32026-09-22

Open-Dev-Society/OpenStock

OpenStock 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.

★ 17.7k stars · ▲ +844 今日 · 🔶 TypeScript · 📜 AGPL-3.0 · 官網在 GitHub 開啟 ↗
coderabbitinngestnextjsshadcn-uistock-markettailwindcss
ℹ️ 今日 trending #1 是 BuilderIO/agent-native(已於 2026-09-21 推過),故改推第 3 名。

這是什麼

OpenStock 是一個以 Next.js 15、React 19 與 TypeScript 打造的開源股票市場應用,定位是昂貴市場資訊平台的免費替代品。它把股票搜尋、觀察清單、個股頁、TradingView 圖表與市場總覽整合在同一個 Web 介面裡,後端則用 Better Auth + MongoDB 處理帳號與持久化資料,並透過 Finnhub 取得股票代號、公司資料與市場新聞。README 也明確提醒:OpenStock 不是券商,市場資料是否即時會受供應商規則與設定影響,內容也不構成投資建議。

這個專案的核心不是做交易下單,而是把常見投資資訊工作流做成可自架、可修改的現代化儀表板。使用者可以登入、搜尋股票、建立個人 watchlist,並在個股頁查看 TradingView 的 symbol info、K 線/進階圖表、技術分析、公司概況與財務 widget;另外還有可選的跨來源情緒資訊,涵蓋 Reddit、X.com、news 與 Polymarket。

為什麼上榜

OpenStock 今天累積 844 顆星,總星數約 17,697,熱度很明顯。它上榜的關鍵,在於「金融資訊平台」這個需求本來就有高付費門檻,而 README 的敘事又把專案包裝成一個「知識與工具應該開放」的社群實踐:不只給出介面截圖與功能清單,也把技術棧、部署方式、環境變數與資料來源交代得相當完整。

和一般只展示 TradingView widget 的範例不同,OpenStock 做了較完整的產品骨架:身份驗證、受保護路由、個人化 onboarding、watchlist、郵件與自動化流程 都在範圍內。它也使用 Inngest 處理事件、cron 與 Gemini 生成個人化歡迎信,再用 Nodemailer 發信;這讓它看起來更像一個可延伸的全端產品模板,而不只是股票頁面的 UI demo。不過 README 也誠實標註 Finnhub 免費方案可能有延遲、第三方資料需遵守限制,這點對實際部署者很重要。

適合誰,可以拿來做什麼

這個專案最適合三類人:第一,是想研究 Next.js App Router 全端架構 的開發者;第二,是想自架股票追蹤工具、但不需要交易功能的使用者;第三,是想做金融資訊產品原型的團隊。它已經把常見模組串好:MongoDB、登入、股票搜尋、TradingView、Finnhub、郵件、自動化工作流與暗色介面,拿來當 side project 或產品雛形都很合適。

上手門檻不算最低,因為 README 要求 Node.js 20+、pnpm 或 npm、MongoDB connection string、Finnhub API key,若要啟用 AI 歡迎信還需要 Gemini API key;郵件功能也需要 Gmail 或自行調整 Nodemailer transport。若你只是想看畫面,可以先跑本機開發;若要長期自架,還要注意 AGPL-3.0 授權:README 強調若修改、再散布或部署成 Web service,必須用同授權釋出原始碼並標註原作者。

上手

README 提供了本機與 Docker 兩種路徑。基本流程是先複製專案、安裝依賴,建立 .env,確認 MongoDB 連線,再啟動 Next.js 開發伺服器;若要跑自動化工作流,另外啟動 Inngest dev server。

git clone https://github.com/Open-Dev-Society/OpenStock.git
cd OpenStock

pnpm install
# 或 npm install

pnpm test:db
# 或 npm run test:db

pnpm dev
# 或 npm run dev

npx inngest-cli@latest dev

正式建置則是:

pnpm build && pnpm start
# 或 npm run build && npm start

若偏好容器化,README 說明可用 Docker Compose 同時啟動 OpenStock 與 MongoDB,並以 mongodb://root:***@mongodb:27017/openstock?authSource=admin 這類連線字串連到 Compose 內部的資料庫服務。

README 重點摘要