Пример приложения поиска вакансий на сервисе hh.ru
Это учебное приложение имеет возможности поиска вакансий на платформе hh.ru, предоставляя удобный интерфейс для фильтрации и выбора подходящих предложений. Приложение автоматически переключается между светлой и тёмной темами в соответствии с системными настройками, что позволяет комфортно использовать его в любых условиях освещения. Приложение выполнено только для образовательных целей.
- Поиск вакансий: Имеется функционал поиска вакансий по профессии, месту работы и уровню зарплаты, что позволяет быстро находить подходящие предложения.
- Избранные вакансии: Возможность добавления вакансий в избранное для быстрого доступа к ним в будущем.
- Экран описания приложения: Информация о приложении.
- Язык программирования: Kotlin
- Архитектура: Multi-module clean architecture, MVVM, Single Activity
- Сетевые технологии: REST, Coroutines
- База данных: SQLite, SharedPreferences, Cache
- Библиотеки:
- Koin (для внедрения зависимостей)
- Glide (для загрузки изображений)
- Gson (для работы с JSON)
- LiveData (для управления жизненным циклом данных)
- Retrofit (для сетевых запросов)
- Room (для работы с локальной базой данных)
- Android Jetpack (для упрощения разработки)
- Алгоритм поиска в фильтре: Для реализации функции поиска в фильтре используется алгоритм Кнута-Морриса-Пратта (KMP), который обеспечивает эффективный поиск подстроки в строке. Этот алгоритм работает за линейное время от длины обеих строк и позволяет избежать ненужных сравнений, что значительно ускоряет процесс поиска
Приложение разработано по предоставленному Яндекс.Практикумом дизайну с акцентом на удобство и простоту использования. Интерфейс интуитивно понятен, а функциональность позволяет легко находить и сохранять интересующие вакансии. Автоматическое переключение тем позволяет адаптировать приложение под системные настройки смартфона
На данной схеме показано отношение между модулями проекта










