Aparat Video Player App

Introduction

Aparat is a cutting-edge video player app designed to offer a seamless and efficient user experience. Built with modern technologies and architectural patterns, Aparat provides a robust and scalable solution for video playback.

Features

  • Single Activity Layout: Utilizes a single activity pattern combined with navigation components for a fluid and intuitive user interface.
  • Advanced Video Playback: Integrates ExoPlayer for high-quality video streaming and playback.
  • Efficient Networking: Employs Retrofit and RxJava3 for streamlined network operations and responsive MVVM architecture.
  • Clean Architecture: Adheres to clean architecture principles, ensuring a maintainable and scalable codebase.

Technologies Used

Architecture

  • MVVM (Model-View-ViewModel): Ensures a decoupled and testable code structure, enhancing the maintainability of the application.
  • Clean Architecture: Further refines the application structure into distinct layers, each with a clear responsibility, promoting a separation of concerns.

Layout Structure

  • Navigation Component: Simplifies the implementation of navigation and transitions in the single activity layout.
  • Single Activity Pattern: Centralizes the control of the UI in one activity, reducing complexity and improving performance.

Networking

  • Retrofit: A type-safe HTTP client for Android, making network requests more intuitive and efficient.
  • RxJava3: Provides a powerful toolkit for building asynchronous and event-based programs, integrated with Retrofit for responsive network operations.

Video Player

  • ExoPlayer: A highly customizable media player for Android, offering smooth playback and support for a wide range of video formats.

Getting Started

To get started with the Aparat app, clone the repository and import the project into your Android development environment.

Prerequisites

  • Android SDK
  • Android Studio

Installation

  1. Clone the repository:
  2. Open the project in Android Studio.
  3. Build the project and run it on an Android device or emulator.

Contribution

Contributions to Aparat are always welcome. Please read our contribution guidelines before submitting a pull request.