Skip to content

Music Walker is a music player app for Android implemented with Jetpack Media3.

License

Notifications You must be signed in to change notification settings

Alturino/MusicWalker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Music Walker

Music Walker is a music player app for Android implemented with Jetpack Media3.

All music in this app is from uamp google storage or can be obtained form this link

Table of Contents

App Preview

Screen_recording_20231212_161100.webm

Getting Started

Follow these steps to get the app up and running on your Android device or emulator.

Prerequisites

  • Android Studio: Download and install the latest version of Android Studio.
  • Android Device or Emulator: Ensure you have a physical Android device connected or an emulator set up in Android Studio.

Installation

  1. Clone the repository: Clone this repository to your local machine using git.

    git clone https://github.com/onirutlA/MusicWalker.git
    cd MusicWalker/music_walker_android
  2. Open in Android Studio: Launch Android Studio and select "Open an existing Android Studio project." Navigate to the folder where you cloned the repository and open it.

  3. Build and Run: Wait for the project to build, and then click the "Run" button in Android Studio. Select your connected Android device or choose an emulator to run the app.

Library Used

  • Kotlin based, Coroutines + Flow for asynchronous.
  • Hilt for dependency injection.
  • Jetpack
    • Compose - UI toolkit.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Navigation Compose - Navigate to another composable.
    • Media3 - Audio and Video Player (only Audio Player in this case).
    • KtorClient - Http Client.
    • Okhttp3 - Okhttp3 instance is used inside of KtorClient.
    • Timber - Logging
  • Architecture
    • MVI Architecture.
    • Repository pattern.
  • Retrofit2 & OkHttp3 - construct the REST APIs.
  • kotlinx-serialization - A modern JSON library for Kotlin.
  • Coil - Image Loading Library.
  • Material-Components - Material design components for building ripple animation, and CardView.

Architecture

Music Walker architecture is based on Google Recommendation MVI and the Repository pattern. Architecture

Contributing

Your contributions to this project are highly appreciated! To contribute, follow these steps:

  1. Fork the repository and create a new branch.
  2. Make your changes and ensure the code is well-tested.
  3. Commit your changes and push them to your fork.
  4. Submit a pull request, explaining the changes you've made.

Bug Reporting

If you encounter any bugs, issues, or have suggestions for improvements, please open an issue on the repository. Provide as much detail as possible to help us understand and resolve the problem quickly.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the app's code following the terms of this license.