Архитектура и backend для реферального сервиса российского банка

Задача
Создать backend-инфраструктуру для сервиса одного из крупнейших банков России, способную выдерживать высокие нагрузки и обеспечивать стабильную работу системы.
О проекте
Сервис банка предоставляет возможность физическим лицам и ИП получать дополнительный доход за рекомендации банковских продуктов. Пользователи могут консультировать, выступать в качестве экспертов по личным финансам, подбирать кредитные карты. Сервис призван помочь частным клиентам обрести новую профессию, которую легко совмещать с основной работой и бизнесом.
Клиент
Банк России, входящий в ТОП-4. Количество клиентов превышает 36 млн. человек.
Планирование и проектирование
Совместно с архитектором со стороны банка мы детализировали требования к сервису и разработали оптимальные решения.
Разработали диаграммы базы данных с учетом всех сценариев использования системы.
Разработка API и интеграция
Мы использовали OpenAPI для документирования API и Swagger для визуализации и тестирования интерфейсов. Было важно добиться стабильности и высокой скорости взаимодействия системы и пользователя.
В рамках интеграции настроили асинхронный обмен сообщениями через Apache Kafka, что повысило надежность работы сервиса и устойчивость к сбоям.
Тестирование
Наша команда проводила и ручные, и автоматизированные тесты на всех этапах разработки, чтобы убедиться в корректной работе сервисов под нагрузкой.

Решения
Разработаны и внедрены решения, обеспечивающие стабильную работу сервиса, быструю авторизацию пользователей и возможность отслеживания финансовых показателей партнеров банка:
- Сервис хранения состояния заявок: показывает, какие условия выполнены, и рассчитывает потенциальные баллы агентов.
- Сервис текущего баланса агентов: отслеживает баланс в рублях, баллах и других валютах.
- Сервис управления оферами: управляет предложениями для агентов.
- Сервис управления задачами: отвечает за постановку и контроль выполнения задач агентами.
Итоги
За 7 месяцев были завершены все проектные работы и запущен сервис, стабильно функционирующий при различных уровнях нагрузки и обеспечивающий эффективное взаимодействие банка с пользователями через веб-платформу и мобильное приложение.



