OpenStock

OpenStock

一款免费开源+可自托管的股票市场数据平台,可以看作昂贵商业平台的免费替代品。它提供实时价格查看、自定义提醒和公司详细信息等功能,所有服务永久免费,面向个人投资者、学生和开发者。

#Ai工具箱 #Ai开源项目
收藏

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 技术栈,本地运行简单,可根据需要进行定制修改。

到头啦!

与OpenStock相关工具