Skip to content

Spark Music Player is a user-friendly music player built with Kotlin, Media3 and Jetpack Compose

License

Notifications You must be signed in to change notification settings

x86xFX/SparkMusicPlayer

Repository files navigation

Spark Music Player

preview

Preview

Spark.Player.Demo.mp4

Tech stack & Open-source libraries

  • Minimum SDK level 24.
  • Kotlin based, utilizing Coroutines + Flow for asynchronous operations.
  • Jetpack Libraries:
    • Jetpack Compose: Android’s modern toolkit for declarative UI development.
    • Lifecycle: Observes Android lifecycles and manages UI states upon lifecycle changes.
    • ViewModel: Manages UI-related data and is lifecycle-aware, ensuring data survival through configuration changes.
    • Navigation: Facilitates screen navigation, complemented by Hilt Navigation Compose for dependency injection.
    • Room: Constructs a database with an SQLite abstraction layer for seamless database access.
    • Hilt: Facilitates dependency injection.
  • Architecture:
    • MVVM Architecture (View - ViewModel - Model): Facilitates separation of concerns and promotes maintainability.
    • Repository Pattern: Acts as a mediator between different data sources and the application's business logic.
  • Ktor Client: Asynchronous, multiplatform support HTTP client and server.
  • Kotlin Serialization: Kotlin multiplatform / multi-format reflectionless serialization.
  • ksp: Kotlin Symbol Processing API for code generation and analysis.
  • Coil: Image loading library that fetches and displays network images with Coil.
  • Datastore: Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers
  • Material 3: Latest version of Google’s open-source design system.
  • Cascade: Nested popup menus with smooth height animations for Android

Spark Spotify Artist API

Ktor http server that fetch artist's followers, profile link, profile image and other basic details from spotify artist api. SparkSpotifyArtistAPI

License

Designed and developed by 2024 x86xFX (Theekshana Nirmana)

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

Spark Music Player is a user-friendly music player built with Kotlin, Media3 and Jetpack Compose

Topics

Resources

License

Stars

Watchers

Forks

Languages