mirror of
https://gitlab.com/foxixus/neomovies_mobile.git
synced 2025-10-27 22:38:50 +05:00
3e1a9768d869fa13ffdb2a70283a7c18db830d0a
WebView Player Integration: - Create PlayerEmbedService for API server integration - Update WebView players to use server embed URLs instead of direct links - Add fallback to direct URLs when server is unavailable - Support for both Vibix and Alloha players with server API - Include optional parameters (imdbId, season, episode) for TV shows - Add health check endpoint for server availability Mock Testing Infrastructure: - Add comprehensive TorrentPlatformService tests with mock platform channel - Test all torrent operations without requiring real Android engine - Mock platform channel responses for addTorrent, removeTorrent, pauseTorrent, resumeTorrent - Test error handling with PlatformException simulation - Validate torrent state detection (downloading, seeding, completed) - Test file priority management and video file detection PlayerEmbedService Testing: - Mock HTTP client tests for Vibix and Alloha embed URL generation - Test server API integration with success and failure scenarios - Validate URL encoding for special characters and non-ASCII titles - Test fallback behavior when server is unavailable or times out - Mock player configuration retrieval from server - Test server health check functionality Test Dependencies: - Add http_mock_adapter for HTTP testing - Ensure all tests work without real Flutter/Android environment - Support for testing platform channels and HTTP services This enables proper API server integration for WebView players while maintaining comprehensive test coverage for all torrent and player functionality without requiring Android hardware.
NeoMovies Mobile 🎬
Мобильное приложение для просмотра фильмов и сериалов, созданное на Flutter.
Возможности
- 📱 Кроссплатформенное приложение (Android/iOS(пока не реализовано))
- 🎥 Просмотр фильмов и сериалов через WebView
- 🌙 Поддержка динамической темы
- 💾 Локальное кэширование данных
- 🔒 Безопасное хранение данных
- 🚀 Быстрая загрузка контента
- 🎨 Современный Material Design интерфейс
Технологии
- Flutter - основной фреймворк
- Provider - управление состоянием
- Hive - локальная база данных
- HTTP - сетевые запросы
- WebView - воспроизведение видео
- Cached Network Image - кэширование изображений
- Google Fonts - красивые шрифты
Установка
- Клонируйте репозиторий:
git clone https://gitlab.com/foxixus/neomovies_mobile.git
cd neomovies_mobile
- Установите зависимости:
flutter pub get
- Создайте файл
.envв корне проекта:
API_URL=your_api_url_here
- Запустите приложение:
flutter run
Сборка
Android APK
flutter build apk --release
iOS
flutter build ios --release
Структура проекта
lib/
├── main.dart # Точка входа
├── models/ # Модели данных
├── services/ # API сервисы
├── providers/ # State management
├── screens/ # Экраны приложения
├── widgets/ # Переиспользуемые виджеты
└── utils/ # Утилиты и константы
Системные требования
- Flutter SDK: 3.8.1+
- Dart: 3.8.1+
- Android: API 21+ (Android 5.0+)
- iOS: iOS 11.0+
Участие в разработке
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Внесите изменения и закоммитьте (
git commit -m 'Add amazing feature') - Отправьте изменения в ветку (
git push origin feature/amazing-feature) - Создайте Pull Request
Лицензия
Этот проект лицензирован под Apache 2.0 License - подробности в файле LICENSE.
Контакты
Если у вас есть вопросы или предложения, создайте issue в этом репозитории.
Description
Languages
Dart
80.2%
Kotlin
9.7%
C++
5.1%
CMake
3.9%
Swift
0.6%
Other
0.5%