『7x24小时有问必答』
我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!

前言概述

OpenStock 是一个面向股票市场信息展示、行情跟踪、图表分析、新闻浏览与个性化监控的开源股票市场平台。项目定位是“昂贵市场平台的开源替代方案”,目标是让用户能够以开放、免费、可自部署的方式查看市场价格、关注股票、设置个性化提醒,并获取公司与市场相关信息。

项目介绍

OpenStock 是一个开源、免费、可自部署的股票行情平台,基于 Next.js、TailwindCSS 和 MongoDB 构建。项目聚焦行情展示与数据分析,集成 TradingView 图表、Finnhub 市场数据,支持实时行情、K 线图、市场热力图、股票搜索、自选股管理、价格提醒、新闻资讯和公司资料展示。平台不提供交易功能,适合用于金融数据看板、全栈项目学习和股票市场信息监控。

应用场景

该项目非常适合作为全栈开发学习案例。它覆盖了 Next.js App Router、React Server Components、Server Actions、MongoDB/Mongoose、第三方 API 集成、认证、前端组件化、图表 Widget 集成、Docker 部署、环境变量管理、异步任务与邮件服务等典型场景。对于希望学习金融信息类产品架构的开发者,OpenStock 提供了一个较完整的实战范例。

功能模块

功能模块
主要内容
面向用户
数据/依赖来源
说明
首页 Dashboard
市场概览、热力图、新闻、市场数据等
所有访问者
TradingView、Finnhub
用于快速了解市场整体情况
股票搜索
股票代码和公司名称搜索
所有访问者/登录用户
Finnhub Search API
支持搜索并进入个股详情
个股详情
股票信息、K 线图、Baseline 图、技术分析、公司资料、财务信息、情绪洞察
所有访问者/登录用户
TradingView、Finnhub、Adanos 可选
以单只股票为核心进行展示
用户认证
注册、登录、会话管理、忘记密码、重置密码
注册用户
Better Auth、Nodemailer
支撑个性化功能
自选股 Watchlist
添加、移除、查看关注股票
登录用户
MongoDB、Finnhub
用户个性化股票跟踪
价格提醒 Alerts
创建提醒、查看提醒、删除提醒、启用/停用提醒
登录用户
MongoDB、Server Actions
默认包含 90 天有效期
新闻资讯
通用市场新闻、自选股相关新闻
所有访问者/登录用户
Finnhub News API
自选股页面优先展示相关股票新闻
邮件与通知基础
重置密码邮件、潜在提醒通知能力
注册用户
Nodemailer
项目已包含邮件基础设施
异步任务/工作流
用户创建事件、定时任务、AI 或洞察相关流程
系统后台
Inngest
用于后端工作流与自动化
API 文档页
项目 API 与架构说明页面
开发者
项目内置页面
用于开发者理解系统能力
帮助/关于/条款页面
产品说明、帮助内容、条款信息
所有访问者
项目静态页面
完善产品信息结构

功能特点

OpenStock 是一个开源、免费、可自部署的股票行情平台,采用 AGPL-3.0 协议,适合学习、研究和二次开发。项目定位清晰,专注于行情展示、图表分析、新闻资讯、公司资料和个性化监控,不提供交易、资金账户或订单撮合功能。

项目技术栈

分类
技术/工具
项目中的作用
备注
前端框架
Next.js 15.5.7
应用框架、路由、服务端渲染、构建
使用 App Router
UI 框架
React 19.1.0
构建交互式用户界面
与 Next.js 配套
开发语言
TypeScript 5
类型约束与工程可维护性
项目主要语言
样式方案
Tailwind CSS 4
原子化 CSS 与主题样式
配合 PostCSS
UI 组件
shadcn/ui、Radix UI
Button、Dialog、Select、Dropdown 等组件
强调可组合性
数据库
MongoDB
用户数据、自选股、提醒数据存储
可本地或云端部署
ODM
Mongoose 8.19.0
MongoDB 模型定义与查询
定义 Watchlist、Alert 等模型
认证
Better Auth 1.3.25
注册、登录、会话管理
支撑个性化功能
市场数据
Finnhub API
股票报价、公司资料、搜索、新闻
需要 API Key
图表组件
TradingView Widgets
K 线图、热力图、技术分析、市场概览
第三方嵌入式组件
异步任务
Inngest 3.47.0
工作流、定时任务、后台自动化
本地可运行 Inngest Dev
邮件服务
Nodemailer 7.0.6
邮件发送、密码重置邮件
需要邮件服务配置
表单处理
React Hook Form
表单状态与校验基础
用于注册/登录等表单
图标
lucide-react
UI 图标
如 Bell、Trash、Trend 图标
通知提示
Sonner
Toast 成功/失败提示
如创建提醒提示
日期工具
date-fns
日期处理
辅助新闻日期等场景
测试
Vitest
单元测试/集成测试
package scripts 已配置
代码规范
ESLint
代码检查
使用 Next.js ESLint 配置
容器化
Docker、Docker Compose
应用和 MongoDB 容器化运行
便于部署与本地启动
分析
Vercel Analytics
应用访问分析
依赖中包含

功能演示

开源地址

https://github.com/Open-Dev-Society/OpenStock

---

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码