Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/BobbyESP/Jetispot

Unofficial Spotify client for Android built with Jetpack Compose, Material 3 and librespot-java. Fork ahead of Tayson's original repo.
https://github.com/BobbyESP/Jetispot

android jetpack-compose librespot-java material-design material-you spotify spotify-client

Last synced: about 2 months ago
JSON representation

Unofficial Spotify client for Android built with Jetpack Compose, Material 3 and librespot-java. Fork ahead of Tayson's original repo.

Awesome Lists containing this project

README

        



Jetispot



A Spotify unofficial client built with Jetpack Compose, Material You/3 and librespot-java

## INFO
I will be working on Jetispot as soon as I can, but at the moment I'm remaking Spowlo; now it will be a song downloader app (https://github.com/BobbyESP/Spowlo/tree/remake-2). Once I finish, I will improve this client. Thank you all!

## 📣 NOTICE
Spotify Premium account is **REQUIRED***. Offline caching, DRM bypassing, or raw file downloading is prohibted by ToS and will NEVER be implemented in Jetispot. Don't waste your time trying to request these features.

## 🔮 App features
- Sign In (login/pass only, no FB/Meta/Google support, no Smart Lock either)
- "Browse", "Home", Album, Premium Plans overview, Artists and Genres screens (some of the blocks might be unsupported).
- Library: "liked songs" with tag & sort support, rootlist (liked playlists) + pins + artist/album support with nice animations, delta updates and also pub/sub processing support
- Basic playback with Spotify Connect support (Spotify Connect support is actually WIP)
- Fairly optimized R8 rules, providing the release APKs with a size of 4-5mb (with the playback and protobuf parts!)

## 📸 Screenshots


image
image
image
image
image
image

## 🔨 What's in progress
- "Now Playing" improvements
- Better playback service (notification improvements)
- Fixing "unsupported" warnings

## 👷 App specifications
- Playback: librespot-java as the core + sinks/decoders from librespot-android + Media2 for the mediasession support
- UI: Jetpack Compose with Material You 3
- DI: Hilt/Dagger
- Network: Retrofit w/ Moshi + Protobuf converters
- Pictures: Coil
- Storage: Room (collection), MMKV (metadata)
- Arch: MVVM
- Preferences: Jetpack Datastore (proto)

## ⬇️ Downloads
You can go to the [releases page](https://github.com/BobbyESP/Jetispot/releases) and download any version updated.

## Credits
- [librespot-java](https://github.com/librespot-org/librespot-java) for the core API part and playback
- [librespot-android](https://github.com/devgianlu/librespot-android) for sink and decoder source (in Jetispot they are rewritten to Kotlin)
- [moshi](https://github.com/square/moshi/) and [moshix](https://github.com/ZacSweers/MoshiX/) for the undocumented API JSON parsing
- [VK Icons](https://github.com/VKCOM/icons) for the amazing icon set used in the application's icon
- [MMKV](https://github.com/Tencent/MMKV) for ultra-fast way to cache entity extended metadata
- Google for Jetpack Compose, Protocol Buffers and Material UI components

_* Some people can actually login without a Spotify Premium account. Assistance to these accounts may not be provided and you put yourself at risk for using a free acount. We are not responsible for any account bans._