Ищете идеальный фильм для вечернего просмотра, но устали от бесконечного скроллинга и колебаний? Ваш личный киноподборщик приходит на помощь, предлагая уникальный и увлекательный способ найти "того самого" фильма, как в легендарной игре "Выбери своего бойца" (Choose Your Fighter). С нашим приложением процесс поиска становится настоящим приключением, где каждый свайп – это шаг к открытию вашего следующего кинематографического сокровища.
После того как вы зададите свои предпочтения в жанрах, начинается настоящий бой за ваше внимание. Фильмы представляются один за другим, и, как в карточной игре судьбы, вы решаете, кто останется в игре. Не понравился кандидат? Свайп влево, и он уходит навсегда, оставляя место для новых претендентов на звание вашего вечернего развлечения.
Наткнулись на интересного "бойца"? Наше приложение откроет все его карты: детальное описание, галерею и даже список арен (читай сервисов просмотра), где вы можете немедленно начать битву (или просмотр). В один клик вы окажетесь на выбранной платформе, готовы к погружению в мир выбранного фильма.
Приготовьтесь к вечеру, полному сюрпризов и открытий. Ваш кинематографический гид гарантирует, что процесс выбора будет так же захватывающим, как и сам просмотр. Выбирайте своего бойца, начните битву за идеальный вечер, и пусть победит лучший фильм!
Что нужно установить для запуска приложения:
- Android Studio
- JDK 17
- Kotlin
Шаги по установке и настройке проекта:
- Клонировать репозиторий:
git clone https://github.com/EdKrupenin/FilmsMatch.git
- Открыть проект в Android Studio
- Синхронизировать Gradle и установить необходимые зависимости
- Запустить на эмуляторе или реальном устройстве
Описание основных модулей и их функций в проекте:
- 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