Как создать Open Source финтех-проект

Роль финансовых технологий в революционных изменениях взаимодействия с финансовыми сервисами огромна, участие в проектах с открытым исходным кодом в этой сфере становится все более ценным. Как сделать, довести до ума финтех-сайт с открытым исходным кодом и поучаствовать в создании финтех-решений? Продемонстрируем на биржевом бэкенд-проекте, где обрабатываются данные фондового рынка.

Проект доступен на GitHub, это отличная отправная точка для погружения в финтех-разработку.

Обзор проекта

Репозиторий биржевого бэкенда  —  это проект с открытым кодом и построенным на современных технологиях бэкенд-сервисом для обработки данных фондового рынка. Акцент здесь сделан на API, который интегрируется разработчиками в веб-сайты или приложения финтех-направленности. API  —  мощный инструмент для получения и обработки данных фондового рынка, а также управления ими. Он идеален для сайтов, где биржевые данные показываются в реальном времени или ретроспективе.

Ключевой функционал

  • API биржевых данных: его особенностью  —  возможность в реальном времени получать и предоставлять биржевые данные по отдельным акциям, индексам и другим финансовым инструментам.
  • API для финансовой аналитики: в API легко включаются дополнительные финансовые, аналитические показатели или статистика портфеля ценных бумаг.
  • Открытый исходный код: в этом Open Source проекте разработчики добавляют фичи, дорабатывают функциональность и адаптируют код под различные финтех-приложения.

Технологии проекта

Биржевой бэкенд построен на таких технологиях:

  • Golang (Go): славится эффективностью, конкурентностью и простотой, отличный выбор для создания таких же масштабируемых и производительных API, как этот биржевой бэкенд.
  • MongoDB: для хранения данных фондового рынка и пользовательских портфелей ценных бумаг. Этой нереляционной базой данных обеспечиваются гибкость структуры данных и масштабируемость.

Благодаря этим технологиям, в создаваемом биржевом бэкенде учитываются специфические требования финтеха: безопасность, масштабируемость, обновления в реальном времени.

Принцип работы

1. Установка: клонируем репозиторий, устанавливаем зависимости и настраиваем необходимые переменные окружения, например API-ключи для поставщиков биржевых данных.

2. Запуск сервиса: командой npm start, на конкретном порту им прослушиваются запросы, по маршрутам API обслуживаются данные.

Что дальше?

Хотя биржевой бэкенд-проект функционален, всегда есть что доработать. Обсудим текущие вопросы совершенствования проекта, а также будущее этой финтех-платформы с открытым исходным кодом.

Вопросы проекта

Основные запросы на новый функционал перечислены в GitHub. Вот основные:

1. Рутина: рефакторинг кодовой базы /№ 12/. Имеющийся дизайн не соответствует определенным стандартам, для доработки качества кода и структуры требуется полный рефакторинг.

2. Добавление конвейеров /№ 11/. В этом вопросе запрашивается добавление конвейеров непрерывной интеграции для автоматизации процессов тестирования и развертывания.

3. Добавление модульных тестов /№ 10/. Чтобы обеспечить надежность кода биржевого бэкенда, необходимо расширить охват модульными тестами.

4. Добавление Sentry /№ 8/. Цель этого запроса на новый функционал  —  доработка отладки и диагностики на продакшене посредством интеграции Sentry для мониторинга и логирования ошибок.

5. Добавление логгера вместо операторов печати /№ 7/. Для более гибкого и настраиваемого логирования в этом вопросе предлагается заменить операторы печати подходящей библиотекой логирования.

6. Добавление метода CAN SLIM для оценки акций /№ 6/. Запрос на новый функционал для реализации методологии CAN SLIM, системы оценки акций на основе факторов вроде роста доходности и лидерства на рынке.

7. Функционал модифицированной оценки Пиотроски для развивающихся рынков /№ 5/ нацелен на оптимальные оценки акций в этих регионах.

8. Добавление загрузки XLSX-формы в бакет Cloudinary /№ 4/. Здесь добавляется поддержка загрузки файлов Excel в бакет Cloudinary, чем упрощаются хранение данных и доступ к ним.

9. Добавление сравнения между Kafka и RabbitMQ /№ 3/. Запрос на новый функционал для интеграции клиентов Kafka и RabbitMQ в проект и сравнения этих двух популярных систем обмена сообщениями.

10. Добавление новых правил оценки акций /№ 2/ на основе доходности и сравнения с аналогами.

11. Функционал оценки Пиотроски в оценке акций /№ 1/ и его добавление в систему оценки акций с комплексным показателем для расчета их эффективности.

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи SHIVAM SOURAV JHA: Showcase: Making an Open Sourced Fintech Project