Создай небольшое приложение поиска данных о стране по ее частичному или полному имени. Используй Rest Countries API, а именно ендпоинт /name, возвращающий массив объектов стран попавших под критерий поиска.
Достаточно чтобы приложение работало для большинства стран. Некоторые страны,
такие как Sudan
, могут создавать проблемы, поскольку название страны является
частью названия другой страны, South Sudan
. Не нужно беспокоиться об этих
исключениях.
Интерфейс очень простой. Название страны для поиска пользователь вводит в текстовое поле.
input
. Но делать
HTTP-запрос при каждом нажатии клавиши нельзя, так как одновременно получится
много HTTP-запросов которые будут выполняться в непредсказуемом порядке (race
conditions). Поэтому на обработчик события необходимо применить подход
debounce
и делать HTTP-запрос спустя 500мс
после того, как пользователь
перестал вводить текст. Используй npm-пакет
lodash.debounce.
Если бекенд вернул больше чем 10 стран подошедших под критерий введенный пользователем, в интерфейсе отображается нотификация о том, что необходимо сделать запрос более специфичным. Для оповещений используй плагин pnotify.
Если бекенд вернул от 2-х до 10-х стран, под инпутом отображается список имен найденных стран.
Если бекенд вернул массив с одной страной, в интерфейсе рендерится разметка с данными о стране: название, столица, население, языки и флаг.