Сервис для подбора оптимального отделения банка, учитывая потребности клиента и доступность услуг
- Сайт хакатона: https://moretech.vtb.ru/
- Команда: inf-inf
- front: inf-inf/more_tech_hackaton_front
Сервис должен поддерживать следующий функционал:
- Отображение отделений на карте и их загруженности
- Построение пешего и автомобильного маршрута (допустимо использование сторонних сервисов)
- Поиск оптимального отделения с учетом загруженности отделения и задач клиента на основе разработанного алгоритма
- Дополнительные «вау-фичи» с учётом трендов IT-отрасли (например, использование AI-технологий)
-
Поиск оптимального банкомата/отделения для нужд клиента с учетом и времени на дорогу, и с учетом загруженности отделения
- Построение пешего маршрута
- Построение маршрута на автомобиле
- Анализ времени до банкомата/отделения с учетом дороги
- Анализ времени до отделения с учетом загруженности отделения
- Выбор необходимых услуг (готов только backend, frontend часть не успели)
- Для банкомата свой спектр услуг (готов только backend, frontend часть не успели)
- Для отделения свой спектр услуг (готов только backend, frontend часть не успели)
-
Авторизация по номеру телефона (для доп. возможностей из-за идентификации клиента) (готов только backend, frontend часть не успели)
- Сохранение своих адресов, как избранных - идея простая, иметь возможность сохранять свои адреса с тегами (не успели)
- Сохранение избранных банкоматов/отделений (не успели)
- Написание отзывов для банкоматов/отделений (не успели)
-
Иметь возможность записываться в очередь в конкретное отделение (для идентификации используется телефон) (не успели)
-
Отображение рейтинга и количества отзывов у банкомата/отделения
-
Масштабируемость
- Все фильтрации и характеристики без труда могут добавляться
- Что касательно производительности - пока приложение достаточно монолитное, но без проблем можно разбить на модули:
- Отдельный модуль для работы с системой очередей и записями в отделения
- Отдельный модуль, который будет отвечать за отзывы и рейтинги
- Отдельный модуль, который будет следить за посещаемости клиентами различных отделений (уже, наверняка имеется система электронных очередей через талоны - это самый просто способ отслеживать количество пришедших и ушедших клиентов, без необходимости применять сложные технологии вроде ИИ)
- Нет никаких тесных связей с инфраструктурой ВТБ или любых других сервисов, из-за чего приложение в состоянии жить и развиваться самостоятельно (это не может не сказаться положительно на скорости и качестве разработки)
-
Безопасность
- Геопозиция запрашивается у пользователя
- Хранятся максимум пользовательские адреса (авторизованная зона)
- Никаких персональных данных
- Система авторизации с одноразовыми токенами
Клонировать репозиторий:
git clone https://github.com/inf-inf/hackathon_more_tech_5_back.git
Создать виртуальное окружение:
python -m venv venv
Установить необходимые библиотеки:
source venv/bin/activate
pip install -r requirements.txt
Запуск
uvicorn uvicorn src.main:api_app --reload