Необходимо на базе представленного каркаса реализовать приложение со вводом адреса пользователя и автодополнением вводимого адреса. Для получения адресов можно использовать api яндекс.карт или сделать библиотеку моков. Пользователь может выбрать адрес из предложенных, этот адрес нужно сохранить в vuex стор. После нажатия кнопки "я здесь" пользователь должен перейти на карту, где будет отмечен выбранный адрес. Можно добавлять роуты, разбить приложение на большее число компонентов, добавить экшены и мьютейшены vuex. Для http-запросов следует использовать библиотеку axios (из зависимостей проекта). Для компонентов следует написать юнит-тесты.
- TypeScript для написания логики,
- Sass для стилей,
- Webpack для сборки,
- Vuejs фреймворк для компонентной разработки
- Vuex - для управления состоянием приложения
- Vue-router - для роутинга
- Vue-class-component для наилучшей интеграции vuejs и typescript.
npm install
,npm start
- запуск сервера разработки, результат будет доступен по адресу http://localhost:4900
- Отслеживать пользовательский ввод в инпут и выводить результаты поиска,
- Отправлять запрос в сервис адресов, если пользовательский ввод (токен) больше 3х символов,
- Между отправкой токена в сервис адресов и получением результата показывать индикатор загрузки в компоненте индикатора загрузки,
- Отправлять запрос в сервис адресов, только после 1380 милисекунд бездействия пользователя, в то же время индикатор загрузки должен демонстрировать сразу,
- Отправлять запрос, только если токен изменился относительно предыдущего токена,
- При выборе адреса он должен появиться в форме ввода целиком, кнопка должна стать доступна,
- При нажатии кнопки адрес должен сохраниться в стор, и должен произойти переход на карту, где будет обозначен выбранный адрес.