-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Командный проект - приложение для для поиска вакансий, размещенных на сервисе HeadHunter
- Поиск вакансий;
- Назначение фильтров для поиска;
- Просмотр деталей выбранной вакансии;
- Добавление вакансий в автономный список "Избранного";
- Поддержка устройств, начиная с Android 8.0 (API 26).
Поиск по любому непустому набору слов поискового запроса. Результаты представлены списком, содержащим краткую информацию о вакансиях.
- Приложение предоставляет подсказки должностей при наборе текста запроса;
- Поиск выполняется как после нажатия клавиши ввода, так и через 2 секунды после завершения ввода текста без нажатия ввода;
- В целях экономии трафика пользователей загрузка результатов поиска происходит постранично (по 20 вакансий). Запрос на следующую страницу происходит, когда пользователь подходит к последней вакансии страницы.
Настройки фильтра, позволяют уточнить некоторые параметры поиска:
- Место работы - регион, населённый пункт, указанный в вакансии как рабочая локация.
- Отрасль - сфера деятельности организации, разместившей вакансию.
- Уровень зарплаты - уровень ЗП, соответствующий указанному в вакансии.
- Возможность скрывать вакансии, для которых не указана ЗП.
- Все настройки фильтра сохраняются автоматически сразу после изменения;
- Поддерживаются кирилические подсказки при вводе на латинской раскладке клавиатуры;
- Подстановка ограничения по стране вводится автоматически при выборе региона (если страна не была выбрана ранее).
Нажав на элемент списка найденных вакансий (аналогично в списке избранного), пользователь попадает на экран с подробным описанием вакансии. Помимо уровня ЗП, требуемого опыта и графика работы пользователь может на этом экране увидеть:
- Информацию о работодателе
- Подробное описание вакансии
- Перечень требуемых ключевых навыков
- Контактную информацию
Также пользователь может поделиться ссылкой на данную вакансию и связаться с работодателем через указанные контакты.
Несколько особенностей экрана, которые нужно учитывать при реализации:
- Любая часть описания деталей вакансии опциональна, то есть из сети может не прийти какое-то из ожидаемых полей. В этом случае программа должна корректно работать и отображать те данные, которые у неё есть.
- Подробное описание вакансии приходит в HTML-формате, напрямую отобразить полученное по сети поле не получится.
- Отображение указанной зарплаты и валюты должно происходить аналогично выдаче поиска вакансий.
- При нажатии на указанный адрес электронной почты должен открываться диалог с предложением написать email на этот адрес.
- При нажатии на указанный номер телефона приложение должно открыть приложение для звонка, в котором уже будет отображён номер телефона.
- Экраны деталей вакансии отображаются поверх нижней навигации.
- Запрос на детали вакансии может вернуть 404, если вакансию удалили на сервере или у пользователя нет прав для её просмотра. В этом случае нужно не только корректно отобразить ошибку, но и удалить сохранённые детали этой вакансии из локальной БД.
Пользователь может добавлять вакансии в "Избранное", чтобы иметь возможность быстро вернуться к заинтересовавшему его предложению. Добавить вакансию в "избранное" (или удалить из "избранного") можно на экране "Вакансия". Все вакансии, добавленные в закладки, можно увидеть на отдельном экране в приложении.
Несколько особенностей экрана, которые нужно учитывать при реализации:
- Вакансии, добавленные в "избранное" можно просматривать без подключения к интернету. Если нет интернета, вместо логотипа компании можно показывать плейсхолдер.
- Если пользователь добавляет вакансию в закладки, она должна сразу появиться на экране списка закладок.
- (*) Список избранных вакансий может содержать довольно много вакансий, поэтому для ускорения загрузки экрана можно добавить пагинацию для выдачи избранных вакансий.
На экране отображается статический список людей, участвовавших в разработке приложения.