DeevD / MusicPlayer

Implemented using Clean Arch, MVVM, LiveData, Room, Koin, Coil, Service, Notification and ExoPlayer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android-Clean-Arch-Room-Koin(MusicPlayer)

A Simple Android Mobile Application which has been implemented using Clean Architecture alongside MVVM design and consists of the music player for playing (online/offline) songs.

Technologies & Methodologies which used:

  • Koin
  • Clean Architecture
  • MVVM Pattern
  • LiveData
  • Coil(Image Loader)
  • ExoPlayer

The flow of player module which implemented:



The App Scenario

To add songs from the device, save them in database and display them in a list. And when a list item is clicked, the app displays a player page and a player service run. (This player also supports all actions on played song) And if you click long on the song item you will be able to remove it from your stored playlist.

The features of player module:

  • The player service run in the background.
  • The notification of playing song will be diplayed at top of screen. (collapse/Expand views)
  • Player actions are in use consists of play/pause, skip to next/previous, repeat one song, repeat all songs, shuffle songs,...
  • Supported swiping to left/right side.

Supported Android Versions

android versions targeted:

  • Android 4.0.3 Ice Cream Sandwich(API level 16) or higher

Used libraries

  1. Github - Multidex
  2. Github - Koin
  3. Github - Coil
  4. Github - ExoPlayer

Version History

  • 1.0 (11/20/2019)- Initial implementation

License

Copyright (c) 2019 ZARA (https://github.com/ZahraHeydari/).

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

Implemented using Clean Arch, MVVM, LiveData, Room, Koin, Coil, Service, Notification and ExoPlayer

License:Apache License 2.0


Languages

Language:Kotlin 100.0%