Skip to content

Latest commit

 

History

History
35 lines (31 loc) · 3.12 KB

README.md

File metadata and controls

35 lines (31 loc) · 3.12 KB

Odiyo

An offline music streaming app.

Screenshots

:::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::
Splash screen Home screen Now playing Music queue Songs screen Search screen Song menu sheet Playlist screen

Features

  • Listen to all songs on your device's local storage
  • Create playlists of your favorite songs
  • Favorite your best songs
  • Enjoy songs from app-curated playlists
  • Edit current music queue
  • Save music queue to playlist
  • Rename, share or delete songs
  • Supports per-app language preference
  • Appealing UI design with dynamic colors

Still under development 🛠

Developed with

  • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI.
  • Media3 - Enables Android apps display rich audio and visual experience.
  • Coil - An Android image loading library backed by Kotlin Coroutines.
  • Dagger-Hilt - Reduces boilerplate of doing manual dependency injection in your project.
  • Navigation Compose Animation - Offers a way to add custom transitions to composables in Navigation Compose.
  • Datastore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs asynchronously.
  • Room Database - A persistent local data storage library.
  • Material3 - Google's latest design system with adaptable components and tools that support the best practices of user interface design for building beautiful apps.
  • Compose Animation - API for implementing various animations in your app's UI for a smooth user experience.
  • Kotlin Coroutine - For executing tasks asynchronously.
  • Stateflow - An observable state-holder that emits data stream to its collectors - updating the UI incessantly.
  • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • Palette - A helper class to extract prominent colors from an image.