Frontend часть приложения с навигацией по ближайшим банкоматам и офисам. Добавлена возможность фильтрации и голосовой поиск (WebSpeechAPI)
Он основан на нашем алгоритме, который учитывает два важных фактора: Среднее время ожидания: Мы вычисляем среднее время ожидания клиентов в каждом отделении и представляем его в индикаторе. Количество касс: Количество касс в отделении также учитывается, и это визуально отражается в индикаторе.
Для удобства поиска необходимого отделения произведен расчет среднего времени нахождения в очереди в текущий момент по алгоритму Для каждого отделения выбираем: (Среднее время ожидания / 5(в минутах)) ASC, (количество касс) DESC.
Основано на использовании WebSpeechApi для определения слов из речи. На основе последующей обработки полученных слов, приложение принимает решение об использовании той или иной логики. Например можно сказать "найди ближайший банкомата". Нам отобразиться кратчайший маршрут до ближайшего банкомата.
Реализована с помощью ymaps3 api. Отображение работает с помощью кастомных хуков, определяя слои данных в useEffect коллбэках.
Вместо стейт-менеджера была выбрана технология работы с query-параметрами. Все фильтры работают с useSearchParams.
Списки используются для упрощения взаимодействия с интерфейсами людьми с ограниченными возможностями. В списке мы можем быстро посмотреть точную информацию
Уточнение результатов поиска: Фильтры позволяют пользователям конкретизировать результаты своего поиска. Например, при поиске операции в банковском аккаунте пользователь может использовать фильтры для выбора определенного периода времени, определенного типа транзакции (например, переводы или оплаты), и других параметров. Эффективный поиск информации: Фильтры делают поиск данных более эффективным, позволяя пользователям быстро находить нужные операции, счета или другие элементы. Это особенно важно, когда в аккаунте накапливается большое количество данных. Пользовательская настройка: Фильтры позволяют пользователям настраивать приложение под свои потребности. Например, они могут сохранять свои предпочтения фильтрации, чтобы при каждом входе видеть именно те данные, которые их интересуют. Улучшение навигации: Фильтры упрощают навигацию в приложении, делая ее более интуитивной и легкой в использовании. Они позволяют пользователям сфокусироваться на конкретных данных и операциях. Сокращение информационного шума: Фильтры позволяют скрывать лишние данные и сделки, что может быть полезно для пользователя, чтобы видеть только ту информацию, которая важна в данный момент.
Next JS 13, React 18, Radix UI, TypeScript. Для карт использовались api Yandex карт ymaps3
Запускался локально через docker compose. Ссылка: https://github.com/KebabJoy/vtbMaps
git clone https://github.com/timursk/vtb
npm i
cd client
npm run dev