OpenStock: бесплатная открытая и self-hosted платформа биржевых данных
OpenStock: бесплатная открытая и self-hosted платформа биржевых данныхОписание
Что такое OpenStock?
OpenStock — это инструмент с открытым исходным кодом для фондового рынка, который можно рассматривать как бесплатную альтернативу дорогим коммерческим платформам. Он предоставляет такие функции, как просмотр цен в реальном времени, настраиваемые уведомления и подробную информацию о компаниях — все это полностью бесплатно и ориентировано на частных инвесторов, студентов и разработчиков.

Основные функции OpenStock
Система входа: вход по электронной почте и паролю, данные хранятся в MongoDB, доступ к страницам защищён с помощью middleware Next.js
Поиск акций: быстрый поиск на основе данных Finnhub, в режиме ожидания отображаются популярные акции, поддерживается поиск с устранением дребезга, для открытия строки поиска используется сочетание клавиш Ctrl+K
Управление списком наблюдения: избранные акции каждого пользователя хранятся в базе данных индивидуально
Страница сведений об акции: отображает графики TradingView, технические индикаторы, базовую информацию о компании и финансовые данные
Обзор рынка: включает тепловую карту акций, котировки и новости
Знакомство с сервисом: сбор информации о стране пользователя, инвестиционных целях и допустимом уровне риска
Уведомления по электронной почте: автоматическая отправка персонализированных приветственных писем и ежедневной подборки новостей
Технологии OpenStock
Фронтенд: разработан с использованием Next.js 15, React 19 и TypeScript, интерфейс оформлен с помощью Tailwind CSS, используется библиотека компонентов shadcn/ui
Данные: данные по акциям поступают из API Finnhub, для графиков используются встраиваемые компоненты 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 Новости