Проект представляет собой стартовую точку для разработки дипломного проекта Яндекс.Практикума по курсу "Android-разработчик".
Для проброса секретного токена, полученных после регистрации приложения для использования API HeadHunter, создайте в
корне проекта файл develop.properties
и добавьте туда одно свойство:
hhAccessToken=my_access_token
Вместо my_access_token
вставьте полученный после регистрации токен доступа к API HeadHunter. После изменения значения
синхронизируйте проект.
Файл develop.properties
игнорируется при коммитах в Git, поэтому можно не бояться, что значение токена попадёт в
открытый доступ. Значения, записанные в файл develop.properties
, будут добавлены в приложение на стадии сборки и
попадут в специальный объект, который называется BuildConfig
. Подробнее про этот объект можно почитать
в документации.
В проекте настроен базовый статический анализатор - detekt. Он проверит наличие большого количества стандартных ошибок при написании Kotlin-кода.
Конфигурационный файл detekt находится здесь. Описание смысла правил можно найти
в официальной документации detekt - например, вот правила группы comments
.
Чтобы проверить наличие ошибок detekt в проекте, откройте терминал и выполните команду ./gradlew detektAll
. После
выполнения в выводе терминала вы увидите список ошибок, если они у вас есть, рядом с каждой ошибкой будет находиться
ссылка на кусочек кода, где detekt обнаружил ошибку.
Также в проекте настроена команда, которая исправляет большое количество ошибок форматирования detekt. Чтобы запустить
её, откройте терминал и выполните команду ./gradlew detektFormat
.
В дипломном проекте используется сервис Github Actions для настройки CI ( Continuous Integration). Это позволяет автоматизировать базовые проверки качества приложения, такие как компиляция проекта и прогон статического анализатора detekt. Файл конфигурации CI вы можете найти здесь.
На каждый созданный pull request CI-сервер:
app
. Готовый APK можно скачивать на свой телефон
или передавать на тестирование другим разработчикам или ревьюверам.detekt
, чтобы подсветить наличие или отсутствие ошибок, которые можно обнаружить,
не запуская приложение. В частности, это поможет вам соблюдать принятый на проекте код-стайл.Чтобы автоматические проверки могли запускаться на каждый созданный pull request, необходимо сделать несколько дополнительных действий:
Github Actions
в вашем форке дипломного проекта.По умолчанию Github отключает настроенные Github Actions
для каждого форка оригинального репозитория. Это сделано для
того, чтобы каждый разработчик и разработчица осознанно применяли описанные конфигурации CI (мало ли что настроено в
оригинальном репозитории!).
Чтобы активировать Github Actions
в форке дипломного проекта, необходимо зайти во вкладку Actions
:
А затем нажать на зелёную кнопку - так вы даёте своё согласие на запуск описанных в репозитории
файлов-конфигураций Github Actions
:
Файл develop.properties
не хранится в истории коммитов, однако значение токена API HeadHunter необходимо для успешной
сборки APK приложения. Чтобы CI-сервер смог получить значение токена, его нужно добавить
в секреты репозитория для Github Actions.
Откройте вкладку Settings
с главной страницы форка:
В левой части экрана найдите раздел Security
, в нём есть пункт Secrets and variables
(цифра (1) на скриншоте). При
нажатии на этот пункт появится выпадающий список, в котором будет элемент списка Actions
(цифра (2) на скриншоте).
Нажмите на этот элемент списка и в правой части экрана вы увидите блок, который называется Repository secrets
:
Нажмите на кнопку New repository secret
. В появившемся окне в качестве названия секрета укажите GH_HH_ACCESS_TOKEN
,
а в качестве значения укажите тот же токен, что вы добавляли в файл develop.properties
:
После ввода ключа и значения нажмите кнопку Add secret
. Если вы всё сделали правильно, то вы должны увидеть
обновлённый блок Repository secrets
:
Дипломный проект представляет собой небольшое приложение для поиска работы, использующее API сервиса HeadHunter. Приложение предоставляет следующую функциональность:
Ниже представлен список требований и особенностей различных экранов приложения, ознакомьтесь с ним до начала разработки.
portrait
), при перевороте экрана ориентация не меняется.На этом экране пользователь может искать вакансии по любому непустому набору слов поискового запроса. Результаты поиска представляют собой список, содержащий краткую информацию о вакансиях.
Несколько особенностей экрана, которые нужно учитывать при реализации:
1 000 000
, 12 345 678
).Используя настройки фильтра, пользователь может уточнить некоторые параметры поиска, который осуществляется на экране "Поиск". Фильтр позволяет указать:
Несколько особенностей, которые нужно учитывать при реализации:
Нажав на элемент списка найденных вакансий (аналогично в списке избранного), пользователь попадает на экран с подробным описанием вакансии. Помимо уровня ЗП, требуемого опыта и графика работы пользователь может на этом экране увидеть:
Также пользователь может поделиться ссылкой на данную вакансию.
Несколько особенностей экрана, которые нужно учитывать при реализации:
Пользователь может добавлять вакансии в "Избранное", чтобы иметь возможность быстро вернуться к заинтересовавшему его предложению. Добавить вакансию в "избранное" (или удалить из "избранного") можно на экране "Вакансия". Все вакансии, добавленные в закладки, можно увидеть на отдельном экране в приложении.
Несколько особенностей экрана, которые нужно учитывать при реализации:
На экране отображается статический список людей, участвовавших в разработке приложения.