Skip to content

EdKrupenin/FilmsMatch

Repository files navigation

Films-Match

Ищете идеальный фильм для вечернего просмотра, но устали от бесконечного скроллинга и колебаний? Ваш личный киноподборщик приходит на помощь, предлагая уникальный и увлекательный способ найти "того самого" фильма, как в легендарной игре "Выбери своего бойца" (Choose Your Fighter). С нашим приложением процесс поиска становится настоящим приключением, где каждый свайп – это шаг к открытию вашего следующего кинематографического сокровища.

После того как вы зададите свои предпочтения в жанрах, начинается настоящий бой за ваше внимание. Фильмы представляются один за другим, и, как в карточной игре судьбы, вы решаете, кто останется в игре. Не понравился кандидат? Свайп влево, и он уходит навсегда, оставляя место для новых претендентов на звание вашего вечернего развлечения.

Наткнулись на интересного "бойца"? Наше приложение откроет все его карты: детальное описание, галерею и даже список арен (читай сервисов просмотра), где вы можете немедленно начать битву (или просмотр). В один клик вы окажетесь на выбранной платформе, готовы к погружению в мир выбранного фильма.

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

Начало работы

Предварительные требования

Что нужно установить для запуска приложения:

  • Android Studio
  • JDK 17
  • Kotlin

Установка

Шаги по установке и настройке проекта:

  1. Клонировать репозиторий:
    git clone https://github.com/EdKrupenin/FilmsMatch.git
  2. Открыть проект в Android Studio
  3. Синхронизировать Gradle и установить необходимые зависимости
  4. Запустить на эмуляторе или реальном устройстве

Структура проекта

Описание основных модулей и их функций в проекте:

  • app: Основной модуль приложения, содержащий UI компоненты и логику навигации.
  • domain: Модуль с бизнес-логикой и определениями интерфейсов репозиториев.
  • data: Модуль, отвечающий за работу с данными, включая реализацию репозиториев, доступ к сети и кэширование.

Стек Технологий

Мой проект использует следующий стек технологий и библиотек:

  • Языки программирования: Kotlin
  • Архитектура и паттерны проектирования:
    • MVVM (Model-View-ViewModel)
    • Repository Pattern
  • Фреймворки и библиотеки:
    • Android Jetpack (ViewModel, Kotlin Coroutines и Flow, Navigation Component)
    • Retrofit
    • Hilt
    • Picasso
    • Shimmer

Тестирование

Модуль data полностью покрыт юнит тестами, обеспечивая надежность и стабильность работы с данными. В планах покрыть тестами также модуль app, чтобы улучшить качество UI и логики навигации.

Запуск тестов

Для запуска юнит тестов используйте следующую команду в терминале:

./gradlew test

Это запустит все юнит тесты в проекте и отобразит отчеты о результатах.

Инструменты тестирования

  • JUnit 5 для написания и выполнения тестов. Использование этой версии JUnit подчеркивает современный подход к разработке и тестированию.
  • Mockito для мокирования зависимостей в тестах.
  • Espresso для UI тестирования (в планах).

Авторы

  • KEO

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages