Top.Mail.Ru

Внедрение механизма автоматического инвестирования на краудфандинговой платформе

Продукт:

Краудфандинговая платформа, которая позволяет инвестору получать пассивный доход от инвестиций в компании, а компаниям получать финансирование для развития.

Задача:

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

1. Спроектировать модель данных, обеспечивающую соблюдение требований заказчика в части реализации, доработать существующую схему БД.
2. Разработать REST API, обеспечивающий реализацию UI в личных кабинетах пользователей (инвесторов, заемщиков, менеджеров платформы).
3. Реализовать сервис, управляющий запуском cron-job автоинвестирования.
4. Реализовать две стратегии с различным уровнем риска для инвесторов.
5. Реализовать стратегию, которая будет автоинвестировать в те инвестиционные предложения, в которые пользователь уже инвестировал и для его закрытия осталась незначительная сумма.
6. Спроектировать и внедрить систему кастомизации системных и бизнес параметров, обеспечивающую гибкий подход к настройке автоинвестирования.

Итоги:

  • Было разработано и внедрено три различных стратегии автоматического инвестирования.
  • Разработан API для UI пользователей и менеджеров платформы, который обеспечивал удобный и интуитивно понятный процесс настройки и работы с новым функционалом.
  • Во всех сервисах, которые затронули при реализации избавились от хардкода шаблонных текстов фронта и перенесли на бэкенд с возможностью кастомизации.
  • Был разработана система хранения и редактирования “на лету” бизнес параметров процесса (процентные ставки, лимиты и т.п.). Предложены идеи для дальнейшего движения в эту сторону.
  • В ходе реализации в коде, который использова платформа для проведения инвестиции были обнаружены грубые недочеты не учитывающие проблемы/риски возникающие при конкурентных транзакциях, которые кратно возрастут после внедрения автоматического инвестирования.
  • Реализовано кэширование для всех редко меняющихся в БД данных (системные параметры, значения словарей).
  • Разработана документацию для передачи службе сопровождения продукта.
  • Проект сдан в эксплуатацию.

Период работы:

Июнь 2025 - Июль 2025

Команда:

PM, аналитик, дизайнер, бэкенд разработчик, фронтенд разработчик, тестироващик, представитель группы сопровождения.

Технологии:

Java 17, Spring Boot 2.2.4, PostgreSQL, Redis, RebbitMQ, TestContainers, JUnit5, Docker, K8S, Vault, OpenSearch.

Решение:

1. Изучили имеющийся API, систему логирования и аудита, схему данных и составили список необходимых доработок.
2. Спроектировали модель данных для хранения данных автоинвестирования относительно каждого инвестора, согласно требованиям заказчика
3. Дополнили существующую схему БД необходимыми сущностями.
4. Разработали view, обеспечивающие выборки инвесторов удовлетворяющих требованиям для участия в каждом конкретном запуске процесса.
5. Обогатили систему логирования добавив сообщения уровня warning для описания событий, которые не ведут к ошибке и добавили сообщения уровня debug для обеспечения визуализации и трассировки процесса в случае нештатных ситуаций на стендах.
6. Используя паттерны, шаблонный метод и стратегию реализовал процесс автоинвестирования для различных групп риска.
7. Внедрили TestContainers и интеграционные тесты.
8. Разработали документацию для QA/FE, совместно с аналитиком подготовили документацию для группы сопровождения продукта.
9. Провели показ нового функционала, ответили на вопросы и сдали проект в эксплуатацию.
Было интересно реализовать сложные расчеты и нетривиальную бизнес-логику автоматического инвестирования. В процессе несколько раз проводил итерации рефакторинга, чтобы добиться надежности и гибкости системы. В итоге получился механизм, который легко масштабировать и адаптировать под новые стратегии.
Александр Немков, Java-разработчик Software Cats
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты _

Еще про наши проекты: