- https://github.com/rolling-scopes-school/tasks/blob/master/tasks/movie-search.md
- https://i.imgur.com/zbU4j3u.png
- https://not-saint-moviesearch.netlify.app/
- 09.05.2020 / 10.05.2020 23:59
- Total
- вёрстка. Минимальная ширина, при которой приложение отображается корректно – 320 рх. На разрешениях меньше десктопного виртуальная клавиатура может скрываться +10
- дизайн, UI. Выполняются требования к оформлению приложения +10
- поиск +20
- при открытии приложения курсор находится в поле ввода
- автозаполнение поля ввода отключено (нет выпадающего списка с предыдущими запросами)
- есть placeholder
- поисковый запрос можно ввести как нажатием клавиши Enter, так и кликом по кнопке Search или аналогичной
- после ввода поискового запроса и отображения результатов поиска, набранный запрос отображается в поле ввода
- в поле ввода есть кнопка "Очистить", которая визуально представлена в виде крестика. При клике по кнопке "Очистить" поле ввода очищается
- при отправке запроса и ожидания ответа от сервера присутствует индикация процесса загрузки +10
- при вводе в поле поиска корректного поискового запроса, по которому API возвращает результат, обновляются данные о фильмах +10
- при вводе некорректного запроса, по которому API возвращает ошибку, приложение не ломается, выводится уведомление "No results for … " +10
- ошибки, возникающие во время выполнения запросов к API, обрабатываются и выводятся в область уведомления об ошибках +10
- при вводе запроса на русском языке поисковый запрос переводится на английский язык, выводится уведомление "Showing results for … " +10
- на карточке с фильмом указывается рейтинг IMDb +10
- название фильма является ссылкой на видеогаллерею данного фильма на сайте
https://www.imdb.com
+10 - реализован адаптивный слайдер/свайпер, карточки с фильмами можно перелистывать как кликами по стрелкам, так и пролистывать пальцем или мышкой +10
- при достижении конца слайдера/свайпера происходит загрузка следующей страницы поискового запроса +10
- слайды меняются плавно, без рывков и без проскакиваний нескольких слайдов; при смене поискового запроса данные сначала загружаются, потом отображаются, плавная смена фонового изображения +10
- карточки с фильмами отображаются на странице только после полной загрузки контента (нет постепенной подгрузки картинок) +10
- выполнены требования к коду (+40) (оценивает только ментор)
- дублирование кода сведено к минимуму, не используются магические числа, строки, осмысленные имена переменных и функций, не слишком большие функции и т.д. (+10)
- js-код разбит на модули: (+10)
- подключены и используются webpack, eslint, eslint-config-airbnb-base, babel. Исправлены ошибки eslint (+10)
- подключён jest, написаны 2-3 юнит-теста (+10)
-
реализован дополнительный, не предусмотренный заданием функционал. Дополнительный функционал оценивается с точки зрения его уместности и соответствия задачам приложения, сложности реализации, полезности для пользователя +5/10
-
добавил загрузку последнего успешного поискового запроса при повторном посещении страницы +5
-
поисковый запрос можно набирать на виртуальной клавиатуре. Есть возможность переключения языка клавиатуры кликом мышки +10
-
поисковый запрос можно отправить, кликая мышкой по кнопке Enter на виртуальной клавиатуре. Поисковый запрос можно редактировать при помощи виртуальной клавиатуры перемещаясь стрелками вправо-влево и вводя текст на позицию курсора. +10*
* используйте выполненную вами виртуальную клавиатуру из таска virtual-keyboard. При необходимости в неё можно вносить изменения.
- не выполняются требования к pull request, репозиторию, коммитам: -10 баллов (оценивает только ментор)
- присутствуют ошибки в консоли, связанные с исполняемым кодом (ошибки типа favicon.ico: Failed to load resource: the server responded with a status of 404 или ошибки, связанные с запросами к API, не учитываются) или предупреждения eslint-config-airbnb-base: -15 баллов (оценивает только ментор)