Skip to content

Repository files navigation

Project Skebob

Android Kotlin Material Design

Project Skebob — современное Android-приложение для получения, хранения и управления интересными фактами.
Использует Retrofit для работы с API, SQLite (локальная БД) для офлайн-доступа, реализует систему избранного, фильтрацию записей за 24 часа и живую статистику.
Интерфейс построен на Material Design и адаптирован под портретную и ландшафтную ориентации.

📱 Возможности

  • 🔄 Загрузка случайных фактов из сети с сохранением в локальную базу
  • ⭐ Добавление фактов в «Избранное» (защита от удаления)
  • 🗑️ Удаление обычных фактов свайпом вправо
  • 📊 Живая статистика: общее количество фактов, максимальная длина текста
  • ⏱️ Фильтрация записей, добавленных за последние 24 часа
  • 📱 Адаптивный дизайн для портретной и ландшафтной ориентации (двухпанельная верстка)
  • 🗃️ Нижняя навигация: все факты / избранное
  • 💾 Полная офлайн-работоспособность

🛠️ Технологии

  • Язык: Kotlin
  • Архитектура: MVVM
  • Сеть: Retrofit, Coroutines
  • БД: SQLite (с миграциями)
  • UI: Material Design Components, RecyclerView, Swipe gestures
  • Навигация: Bottom Navigation View

⚙️ Установка и запуск

  1. Клонируйте репозиторий

    git clone https://github.com/An3step/Project_Skebob.git
  2. Откройте проект в Android Studio
    Рекомендуется версия Hedgehog или новее.

  3. Синхронизируйте Gradle
    Дождитесь автоматической загрузки зависимостей (Retrofit, Coroutines, Material Components и др.).

  4. Запустите приложение
    Подключите физическое устройство или запустите эмулятор (API level 24+). Нажмите Run (зелёный треугольник) в верхней панели IDE.

📖 Использование

Действие Результат
Кнопка «Загрузить факт» Получение случайного факта из сети с отображением в списке и сохранением локально.
Свайп вправо Удаление обычного факта (без отметки «Избранное»).
Клик по элементу Добавление/удаление факта в «Избранное» (появляется значок ⭐).
Нижняя навигация Переключение между всеми фактами и только избранными.
Кнопка фильтра Показывает только факты, добавленные за последние 24 часа.
Статистика (верх экрана) Автообновление: общее количество фактов и максимальная длина текста в текущем списке.
Поворот устройства Автоматическая смена раскладки на двухпанельный вид в ландшафтном режиме.

Tip

Избранные факты нельзя удалить свайпом. Чтобы удалить такой факт — сначала снимите отметку «Избранное» простым нажатием.

🤝 Вклад в проект

Автор: Антон Степанов (An3step)

Разработка функционала:

  • Архитектура MVVM
  • Локальное хранилище SQLite и миграции БД
  • Сетевой слой (Retrofit)
  • Адаптивный UI (портрет / ландшафт)
  • Интерактивные свайпы, навигация, агрегация статистики

Автор: Артём Наумчик (shoksin)

Разработка функционала:

  • Unit тесты
  • UI тесты
  • GitHub Actions
  • Firebase Test Lab

📄 Лицензия

Проект распространяется под лицензией MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages