swap-musale / Music-App-KMP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Music App KMP

This project demonstrate the Online Music Streaming wuth Compose Multiplatform, if you want to quickly see Preview Click Here

Platforms

Screenshots :

1. Android App

Home Screen

2. iOS App

Home Screen

3. Desktop App

Home Screen

🏗️️ Built with ❤️ using Jetpack Compose 😁

What How
🎭 User Interface (Android) Jetpack Compose
🏗 Architecture Clean
💉 DI (Android) Koin
🎵 Audio Player MediaPlayer + AVPlayer + VLC
🌐 ViewModel Precompose ViewModel
🧭 Navigation Precompose Navigation
🧭 Preference Multiplatform Settings

Project structure

This Compose Multiplatform project includes three modules:

shared

In this module Compose UI code and shared business login stays, which will be later shared with platform according to use case.

androidApp

In Android module, android platform related code present such as in this case MediaPlayerController.

iosApp

In ios module, iOS platform related code present such as in this case MediaPlayerController.

desktopApp

In desktop module, desktop platform related code present such as in this case MediaPlayerController.

How to run the app

This project use Android Studio Flamingo | 2022.2.1 Patch 1.

Note : To run Desktop app make sure VLC Player is installed on you system as to play Audio files in Desktop app, app uses VLC Lib.

License

Copyright 2023 Swapnil Musale

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

About

License:Apache License 2.0


Languages

Language:Kotlin 98.2%Language:Swift 1.1%Language:Shell 0.5%Language:Ruby 0.2%