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应用平台




