В банковском приложении требовался многошаговый мастер открытия вклада. Валюта, срок, ставка, капитализация и дополнительные условия влияли на доступные поля и расчёт доходности.
В составе команды отвечал за разработку frontend этого сценария, работу с формами и расчётной логикой.
С нуля разработал мастер открытия вклада на React и TypeScript. На React Hook Form реализовал зависимые поля, динамическую валидацию, промежуточное сохранение и состояния шагов.
Вынес расчёт доходности в отдельные custom hooks с учётом срока, периодов капитализации, частичного снятия и пролонгации. Добавил подбор и ранжирование вкладов по валюте, сроку, доходности и условиям.
Использовал React Query для загрузки, кеширования и обновления серверных данных. Критичные компоненты и расчётную логику покрывал тестами на Jest и React Testing Library.
Стек: React, TypeScript, React Hook Form, React Query, REST API, Jest, React Testing Library.
Реализован последовательный сценарий выбора и настройки вклада с зависимыми параметрами, расчётом доходности и проверкой введённых данных. Работа с серверным состоянием организована через React Query, критичная логика покрыта тестами.
На обложке — схема пользовательского сценария. Реальные банковские интерфейсы, внутренние правила и клиентские данные не публикуются.
Моя часть — frontend мастера, формы, расчётная логика и тесты. Backend и другие модули банковского продукта разрабатывались командой.