Skip to content
Игорь Соколов edited this page Aug 19, 2024 · 16 revisions

Командный проект - приложение для для поиска вакансий, размещенных на сервисе HeadHunter

Функциональность

  • Поиск вакансий;
  • Назначение фильтров для поиска;
  • Просмотр деталей выбранной вакансии;
  • Добавление вакансий в автономный список "Избранного";
  • Поддержка устройств, начиная с Android 8.0 (API 26).

Главный экран - экран поиска вакансий

BasicSmall searched_small

Поиск по любому непустому набору слов поискового запроса. Результаты представлены списком, содержащим краткую информацию о вакансиях.

Особенности экрана

suggestionsSmall

  • Приложение предоставляет подсказки должностей при наборе текста запроса;
  • Поиск выполняется как после нажатия клавиши ввода, так и через 2 секунды после завершения ввода текста без нажатия ввода;
  • В целях экономии трафика пользователей загрузка результатов поиска происходит постранично (по 20 вакансий). Запрос на следующую страницу происходит, когда пользователь подходит к последней вакансии страницы.

Фильтрация

Настройки фильтра, позволяют уточнить некоторые параметры поиска:

  • Место работы - регион, населённый пункт, указанный в вакансии как рабочая локация.
  • Отрасль - сфера деятельности организации, разместившей вакансию.
  • Уровень зарплаты - уровень ЗП, соответствующий указанному в вакансии.
  • Возможность скрывать вакансии, для которых не указана ЗП.

Особенности экранов

FiltSmall regSugSmall regBigSmall

  • Все настройки фильтра сохраняются автоматически сразу после изменения;
  • Поддерживаются кирилические подсказки при вводе на латинской раскладке клавиатуры;
  • Подстановка ограничения по стране вводится автоматически при выборе региона (если страна не была выбрана ранее).

industrySmall filtDoneSmall

Экран просмотра деталей вакансии

Нажав на элемент списка найденных вакансий (аналогично в списке избранного), пользователь попадает на экран с подробным описанием вакансии. Помимо уровня ЗП, требуемого опыта и графика работы пользователь может на этом экране увидеть:

  • Информацию о работодателе
  • Подробное описание вакансии
  • Перечень требуемых ключевых навыков
  • Контактную информацию

Также пользователь может поделиться ссылкой на данную вакансию и связаться с работодателем через указанные контакты.

Особенности экрана

Несколько особенностей экрана, которые нужно учитывать при реализации:

  • Любая часть описания деталей вакансии опциональна, то есть из сети может не прийти какое-то из ожидаемых полей. В этом случае программа должна корректно работать и отображать те данные, которые у неё есть.
  • Подробное описание вакансии приходит в HTML-формате, напрямую отобразить полученное по сети поле не получится.
  • Отображение указанной зарплаты и валюты должно происходить аналогично выдаче поиска вакансий.
  • При нажатии на указанный адрес электронной почты должен открываться диалог с предложением написать email на этот адрес.
  • При нажатии на указанный номер телефона приложение должно открыть приложение для звонка, в котором уже будет отображён номер телефона.
  • Экраны деталей вакансии отображаются поверх нижней навигации.
  • Запрос на детали вакансии может вернуть 404, если вакансию удалили на сервере или у пользователя нет прав для её просмотра. В этом случае нужно не только корректно отобразить ошибку, но и удалить сохранённые детали этой вакансии из локальной БД.

Экран избранных вакансий

Пользователь может добавлять вакансии в "Избранное", чтобы иметь возможность быстро вернуться к заинтересовавшему его предложению. Добавить вакансию в "избранное" (или удалить из "избранного") можно на экране "Вакансия". Все вакансии, добавленные в закладки, можно увидеть на отдельном экране в приложении.

Особенности экрана

Несколько особенностей экрана, которые нужно учитывать при реализации:

  • Вакансии, добавленные в "избранное" можно просматривать без подключения к интернету. Если нет интернета, вместо логотипа компании можно показывать плейсхолдер.
  • Если пользователь добавляет вакансию в закладки, она должна сразу появиться на экране списка закладок.
  • (*) Список избранных вакансий может содержать довольно много вакансий, поэтому для ускорения загрузки экрана можно добавить пагинацию для выдачи избранных вакансий.

Экран информации о команде разработчиков

На экране отображается статический список людей, участвовавших в разработке приложения.

Clone this wiki locally