{"full_name":"Open-Dev-Society/OpenStock","owner":"Open-Dev-Society","name":"OpenStock","url":"https://github.com/Open-Dev-Society/OpenStock","description":"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.","homepage":"https://openstock-ods.vercel.app","topics":[],"language":"TypeScript","license":"AGPL-3.0","avatar":"https://avatars.githubusercontent.com/u/177231203?v=4","created_at":"2025-09-28T18:16:32Z","pushed_at":"2026-11-09T19:21:59Z","metrics":{"stars":21404,"forks":2669,"watchers":109,"issues":48,"prs":98,"releases":2,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":1},"growth":{"day":{"stars":26,"forks":7,"base_day":"2026-11-09"},"week":{"stars":343,"forks":69,"base_day":"2026-11-03"},"month":{"stars":1777,"forks":267,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[15967,17549,18308,18720,19135,19226,19301,19442,19479,19544,19603,19627,19720,19774,19840,19895,19936,19993,20100,20169,20201,20265,20298,20370,20408,20695,20785,20817,20840,20881,20894,20912,20936,20984,21061,21077,21378,21404],"forks":[2081,2179,2248,2282,2325,2348,2360,2381,2386,2399,2398,2402,2414,2423,2429,2433,2442,2449,2462,2476,2486,2495,2500,2509,2513,2552,2562,2566,2570,2574,2575,2577,2580,2586,2600,2607,2662,2669],"watchers":[93,100,104,107,107,105,105,104,105,105,105,105,105,105,105,105,105,105,107,107,108,107,107,107,108,109,109,110,108,108,108,108,107,107,107,108,109,109],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"monthly_rate":160},"same_owner":[],"issues":[{"number":59,"title":"Price alert conditioned with dynamically evaluated SMA function","comments":3,"created_at":"2026-03-06T03:34:32Z"},{"number":58,"title":"New data source - FinancialData.Net","comments":3,"created_at":"2026-02-17T12:27:33Z"},{"number":149,"title":"Weekly news broadcast reports success when Kit only saves a draft","comments":0,"created_at":"2026-11-01T15:30:57Z"},{"number":144,"title":"Revoked Session Remains Authorised by the Cookie Cache for Up to 300 Seconds","comments":0,"created_at":"2026-10-29T03:05:40Z"},{"number":143,"title":"Production Secret Guard and Authentication Configuration Use Different Secret Sources","comments":0,"created_at":"2026-10-29T03:05:06Z"},{"number":86,"title":"a pluggable data source for real-time quotes and more asset classes","comments":0,"created_at":"2026-07-07T15:56:32Z"},{"number":77,"title":"首页的dashborad 里面的股票列表能定制吗","comments":0,"created_at":"2026-05-12T03:39:19Z"},{"number":53,"title":"Indicators favorites disappear after time","comments":0,"created_at":"2026-02-02T16:52:26Z"}],"discussions":[{"number":105,"title":"Welcome to OpenStock Discussions!","comments":3,"category":"Announcements","created_at":"2026-09-25T09:16:19Z"}],"latest_release":{"name":"v2026.10.25","tag":"v2026.10.25","published_at":"2026-10-25T15:14:12Z","body":"# OpenStock v2026.10.25\n\nOpenStock is a free, open-source (AGPL-3.0) alternative to paid market platforms: track prices, watch the whole market and dig into company insights without a paywall. Use it at https://openstock-ods.vercel.app or self-host it with every feature.\n\nThis release covers everything on `main` up to #140. The previous tag was [`v2026.10.18`](https://github.com/Open-Dev-Society/OpenStock/releases/tag/v2026.10.18) (\"October update\"); the full history, with per-release credits, is on the [changelog](https://openstock-ods.vercel.app/changelog).\n\n## What OpenStock does today\n\n- **Markets:** a dashboard for US, India, Germany, Canada, Australia, Crypto and Forex, with an index pulse, sector heatmap, market leaders and top stories; ⌘K search across every exchange Finnhub covers; stocks open as tabs.\n- **Stock pages:** TradingView charts with drawing tools and fullscreen (#118, #45), indicators that stay on every chart (#119), financials, technicals, company profile, and sentiment insights (#64). International tickers map correctly to TradingView (#57, #65, #117).\n- **Watchlist and alerts:** a watchlist of up to 50 stocks (#127), price alerts by email in realtime mode, and a weekly AI-written news digest.\n- **Accounts:** email and password sign-in, password reset (#71), live password requirements (#79), rate-limited auth, and a reset that signs out other devices (#125, #126).\n- **AI providers:** Gemini, with MiniMax as an alternative provider (#61) and Siray.ai fallback (#40).\n- **Self-hosting:** Docker and Docker Compose (#17), builds that need no database or secrets (#123), MongoDB kept private in Compose (#124), a prebuilt GHCR image on Node 22 (#128), one-click deploys on RepoCloud, ZopDay and Railway (#111, #115, #94), and an env checker (#104).\n- **Community:** a changelog that credits every contributor (#130, #131), a Wall of love, and an in-app update banner (#129).\n\n## New since v2026.10.18\n\n- **Dividend yield card** on stock pages, using real Finnhub data, with a dash for stocks and crypto without a dividend. #137 (@samki6576)\n- **Public, crawlable pages:** `robots.txt` and `sitemap.xml` are reachable signed-out, plus public, server-rendered company and guide pages (`/s`, `/compare`); the signed-in `/stocks/[symbol]` app is unchanged. #136\n- **MiniMax defaults to MiniMax-M3.1-Flash** when `MINIMAX_MODEL` is unset, for primary requests and fallback; explicit overrides still work. #140 (@octo-patch)\n- **Docker realtime mode works again:** `NEXT_PUBLIC_OPENSTOCK_DATA_MODE` is passed as a build arg, so Docker and Railway self-hosters can switch to realtime. #134\n- **Dependency upgrades:** better-auth 1.3.25 → 1.7.10 (#132); nodemailer 7.0.6 → 10.1.2 and `@types/nodemailer` dropped, removing 81 packages from the lockfile (#133).\n- **Docs and project health:** README rewritten to match how OpenStock works today (#135), Contributor Covenant 2.1 Code of Conduct (#139), FLOSS/fund funding manifest (`funding.json`) (#138).\n\n#134 and #135 merged on 18 Oct 2026; #132, #133 and #136–#139 merged on 19 Oct 2026; #140 merged on 21 Oct 2026 (IST).\n\n## Thank you\n\nEveryone whose pull requests were merged into OpenStock:\n\n@ravixalgorithm @keshav-005 @octo-patch @akoweicollinxx @chinnsenn @nb-src @CrixusWen @TPTBusiness @alexander-schneider @Bortlesboat @Chukwuebuka-2003 @kuishou68 @BambaSatoru @Yi-111-a @cosark @muskanbandta23 @cosmind-rusu @samki6576\n\nPeople whose issues led to fixes are credited per release on the [changelog](https://openstock-ods.vercel.app/changelog).\n\nOpenStock stays free thanks to sponsors: [GitHub Sponsors](https://github.com/sponsors/ravixalgorithm) · [sponsor page](https://openstock-ods.vercel.app/sponsor).\n"},"readme":true,"readme_zh":false,"news":[{"title":"散户正在用 GitHub 投票：OpenStock 爆火是开源金融数据运动的元年信号","url":"https://blog.csdn.net/gitblog_00991/article/details/168879716","source":"blog.csdn","lang":"zh","date":"2026-10-23"},{"title":"Githubトレンド on X: \"9/21 20:41 JST｜今回追うのは OpenStock。詳しい内容はスレッドで紹介します。\"","url":"https://x.com/github_trendjp/status/2102000395061272713","source":"x","lang":"zh","date":"2026-09-21"},{"title":"GitHub近万人收藏，股票市场分析的开源神器！","url":"https://www.sohu.com/a/984914548_121124359","source":"搜狐","lang":"zh","date":"2026-02-07"},{"title":"OpenStock开源库存系统：TypeScript+Next.js实战指南","url":"https://news.google.com/rss/articles/CBMiX0FVX3lxTFBsSVRmc3dEU1cybUd1bWNxbnkzZVcwZWExSG1MVHZyRUhwT2ViWUpkeHRJT2RuckMxT2UyY2FlRmR1MHpfTXNjSnc5OW5qUVMzMDVRY2JqWFJWcVExM3NR?oc=5","source":"CSDN","lang":"zh","date":"2026-11-08"},{"title":"OpenStock真相：全栈库存系统的技术本质与业务约束","url":"https://news.google.com/rss/articles/CBMiXEFVX3lxTE1SU3dqZkJUc2gxSWFhOHNtaG9PbG44aTFhckY5V2ZNQnlqM09Dd1NEeURyd2hGTHlBaDdLWmhpRFpTNkIwcUFIVGt3dkw0WjVlUVRKWHRwYll1RDRG?oc=5","source":"CSDN","lang":"zh","date":"2026-11-08"},{"title":"OpenStock：面向中小团队的轻量级库存管理开源框架","url":"https://news.google.com/rss/articles/CBMiX0FVX3lxTE5LTFBnTnBwbjhYZlh4MV9GbVZweTE1TVlKUjIxMmZDY3VpQWpMa0Y2SzU4NWVkVHZIempwV25QSTRnLUVNUzJJb0haZUpjbm9OdGNORzN5RkN4X3ZRdVNF?oc=5","source":"CSDN","lang":"zh","date":"2026-11-07"},{"title":"OpenStock开源库存系统：TypeScript+Next.js+MongoDB实战指南","url":"https://news.google.com/rss/articles/CBMiX0FVX3lxTE1wbjhEdjV2ZGdTRUVEaHBrd2UwS1FCTndyNzExWi0wVXdhS2tTdHlQNkExd3QtZTJEenFvLTRKOWlYYmRPa1F2TlFoRlNHU0xKZTVFYm01MHRONHd3OUtZ?oc=5","source":"CSDN","lang":"zh","date":"2026-11-07"},{"title":"OpenStock开源行情系统部署全流程：从环境配置到数据可视化","url":"https://news.google.com/rss/articles/CBMiX0FVX3lxTE5KS0pibjhOM3g2cnpOSzg5ZUtOU3M4QjBjcnMyWk5iNE1pZDdoWmFFYTZFQ05DT1pmcmNIUGFyb3p4UUdfNm9lS19wczJOOUdVRVlDeTYwMEE1VlJIbHRZ?oc=5","source":"CSDN","lang":"zh","date":"2026-11-07"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}