Skip to content

Yandex-Practicum/practicum-android-diploma

Repository files navigation

Дипломный проект Яндекс.Практикума по курсу "Android-разработчик"

Проект представляет собой стартовую точку для разработки дипломного проекта Яндекс.Практикума по курсу "Android-разработчик".

Предварительная настройка проекта

Добавление секретного токена API для поиска вакансий

Для проброса секретного токена для использования API, сгенерированного на специальной странице, создайте в корне проекта файл develop.properties и добавьте туда одно свойство:

apiAccessToken=my_access_token

Вместо my_access_token вставьте полученный после регистрации токен доступа к API для поиска вакансий. После изменения значения синхронизируйте проект.

Файл develop.properties игнорируется при коммитах в Git, поэтому можно не бояться, что значение токена попадёт в открытый доступ. Значения, записанные в файл develop.properties, будут добавлены в приложение на стадии сборки и попадут в специальный объект, который называется BuildConfig. Подробнее про этот объект можно почитать в документации.

Статический анализ

В проекте настроен базовый статический анализатор - detekt. Он проверит наличие большого количества стандартных ошибок при написании Kotlin-кода.

Конфигурационный файл detekt находится здесь. Описание смысла правил можно найти в официальной документации detekt - например, вот правила группы comments.

Чтобы проверить наличие ошибок detekt в проекте, откройте терминал и выполните команду ./gradlew detektAll. После выполнения в выводе терминала вы увидите список ошибок, если они у вас есть, рядом с каждой ошибкой будет находиться ссылка на кусочек кода, где detekt обнаружил ошибку.

Также в проекте настроена команда, которая исправляет большое количество ошибок форматирования detekt. Чтобы запустить её, откройте терминал и выполните команду ./gradlew detektFormat.

Настройка Github Actions

В дипломном проекте используется сервис Github Actions для настройки CI ( Continuous Integration). Это позволяет автоматизировать базовые проверки качества приложения, такие как компиляция проекта и прогон статического анализатора detekt. Файл конфигурации CI вы можете найти здесь.

На каждый созданный pull request CI-сервер:

  • Скомпилирует проект и соберёт APK приложения, описанного в модуле app. Готовый APK можно скачивать на свой телефон или передавать на тестирование другим разработчикам или ревьюверам.
  • И запустит статический анализатор detekt, чтобы подсветить наличие или отсутствие ошибок, которые можно обнаружить, не запуская приложение. В частности, это поможет вам соблюдать принятый на проекте код-стайл.

Чтобы автоматические проверки могли запускаться на каждый созданный pull request, необходимо сделать несколько дополнительных действий:

  • Активировать Github Actions в вашем форке дипломного проекта.
  • И добавить токен API для поиска вакансий в секреты репозитория.

Шаг 1 - Активация Github Actions

По умолчанию Github отключает настроенные Github Actions для каждого форка оригинального репозитория. Это сделано для того, чтобы каждый разработчик и разработчица осознанно применяли описанные конфигурации CI (мало ли что настроено в оригинальном репозитории!).

Чтобы активировать Github Actions в форке дипломного проекта, необходимо зайти во вкладку Actions:

Вкладка "Actions"

А затем нажать на зелёную кнопку - так вы даёте своё согласие на запуск описанных в репозитории файлов-конфигураций Github Actions:

Зелёная кнопка согласия

Шаг 2 - Добавление токена API для поиска вакансий в секреты проекта

Файл develop.properties не хранится в истории коммитов, однако значение токена API для поиска вакансий необходимо для успешной сборки APK приложения. Чтобы CI-сервер смог получить значение токена, его нужно добавить в секреты репозитория для Github Actions.

Откройте вкладку Settings с главной страницы форка:

Вкладка "Settings"

В левой части экрана найдите раздел Security, в нём есть пункт Secrets and variables (цифра (1) на скриншоте). При нажатии на этот пункт появится выпадающий список, в котором будет элемент списка Actions (цифра (2) на скриншоте).

Security -> Secrets and variables -> Actions

Нажмите на этот элемент списка и в правой части экрана вы увидите блок, который называется Repository secrets:

Пустой Repository secrets

Нажмите на кнопку New repository secret. В появившемся окне в качестве названия секрета укажите GH_API_ACCESS_TOKEN, а в качестве значения укажите тот же токен, что вы добавляли в файл develop.properties:

Добавление нового секрета

После ввода ключа и значения нажмите кнопку Add secret. Если вы всё сделали правильно, то вы должны увидеть обновлённый блок Repository secrets:

Секрет успешно добавлен

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •