timursk / vtb

vtb 5.0 WEB-track

Home Page:https://vtb5.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vtb

vtb 5.0 WEB-track

Frontend часть приложения с навигацией по ближайшим банкоматам и офисам. Добавлена возможность фильтрации и голосовой поиск (WebSpeechAPI)

Алгоритм времени ожидания (прогрессбар в маркерах и кнопка "время ожидания")

Он основан на нашем алгоритме, который учитывает два важных фактора: Среднее время ожидания: Мы вычисляем среднее время ожидания клиентов в каждом отделении и представляем его в индикаторе. Количество касс: Количество касс в отделении также учитывается, и это визуально отражается в индикаторе.

Отображение загруженности отделения в текущий момент

Для удобства поиска необходимого отделения произведен расчет среднего времени нахождения в очереди в текущий момент по алгоритму Для каждого отделения выбираем: (Среднее время ожидания / 5(в минутах)) ASC, (количество касс) DESC.

Голосовое управление

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

Yandex карта

Реализована с помощью ymaps3 api. Отображение работает с помощью кастомных хуков, определяя слои данных в useEffect коллбэках.

Store

Вместо стейт-менеджера была выбрана технология работы с query-параметрами. Все фильтры работают с useSearchParams.

Списки

Списки используются для упрощения взаимодействия с интерфейсами людьми с ограниченными возможностями. В списке мы можем быстро посмотреть точную информацию

Фильтры

Уточнение результатов поиска: Фильтры позволяют пользователям конкретизировать результаты своего поиска. Например, при поиске операции в банковском аккаунте пользователь может использовать фильтры для выбора определенного периода времени, определенного типа транзакции (например, переводы или оплаты), и других параметров. Эффективный поиск информации: Фильтры делают поиск данных более эффективным, позволяя пользователям быстро находить нужные операции, счета или другие элементы. Это особенно важно, когда в аккаунте накапливается большое количество данных. Пользовательская настройка: Фильтры позволяют пользователям настраивать приложение под свои потребности. Например, они могут сохранять свои предпочтения фильтрации, чтобы при каждом входе видеть именно те данные, которые их интересуют. Улучшение навигации: Фильтры упрощают навигацию в приложении, делая ее более интуитивной и легкой в использовании. Они позволяют пользователям сфокусироваться на конкретных данных и операциях. Сокращение информационного шума: Фильтры позволяют скрывать лишние данные и сделки, что может быть полезно для пользователя, чтобы видеть только ту информацию, которая важна в данный момент.

Стек

Next JS 13, React 18, Radix UI, TypeScript. Для карт использовались api Yandex карт ymaps3

Backend

Запускался локально через docker compose. Ссылка: https://github.com/KebabJoy/vtbMaps

Установка зависимостей и запуск

git clone https://github.com/timursk/vtb
npm i
cd client
npm run dev

About

vtb 5.0 WEB-track

https://vtb5.vercel.app


Languages

Language:TypeScript 66.4%Language:CSS 33.1%Language:JavaScript 0.4%Language:Shell 0.1%