Files
App/README.md
2025-01-25 12:27:38 -06:00

68 lines
3.0 KiB
Markdown

# Jellify
![Jellify App Icon](assets/icon_60pt_3x.jpg)
A music player for [Jellyfin](https://jellyfin.org/) built with [React Native](https://reactnative.dev/).
### Background
I wanted to create a music app that could handle extremely large music libraries (i.e., 100K+ songs) and not get bogged down. I wanted to avoid syncing the database to the device when the library changes, and instead opt for a heavily cached persistence layer instead. I discovered Tanstack Query and combined it with React Native MMKV and the rest was history!
This app was designed with me and my dad in mind, since I wanted to give him a sleek, one stop shop for live recordings of bands he likes (read: the Grateful Dead), with a UI that he'd find instantly familiar and useful. CarPlay / Android Auto support is also a must for him.
Designed to be lightweight and scalable, *Jellify* caters to those who want a music player experience similar to what's provided by music streaming services.
## Features
### Current
- Available via Private Testflight
- Home screen access to previously played tracks, artists, and your playlists
- Full Last.FM Plugin support
- Library of Favorited Music, not too dissimilar to how streaming services handle your 'library'
### Roadmap
- Full playlist support, including creating, updating, and reordering
- Quick access to similar artists and items for discovering music in your library
- Support for Jellyfin mixes
- CarPlay / Android Auto Support
- Public Testflight
- Offline Playback
## Lemme see!
### Home
![Jellify Home](screenshots/home.png)
### Favorites / Library
![Favorites](screenshots/favorites.png)
![Favorite Artists](screenshots/favorite_artists.png)
![Album](screenshots/album.png)
### Player
![Player with Blurhash](screenshots/blurred_player.png)
![Queue](screenshots/player_queue.png)
## Built with:
### Frontend
[Tamagui](https://tamagui.dev/)\
[React Navigation](https://reactnavigation.org/)\
[React Native Vector Icons](https://github.com/oblador/react-native-vector-icons)
- Specifically Material Community Icons
[React Native CarPlay](https://github.com/birkir/react-native-carplay)\
[React Native Blurhash](https://github.com/mrousavy/react-native-blurhash)
### Backend
[Jellyfin SDK](https://typescript-sdk.jellyfin.org/)\
[Tanstack Query](https://tanstack.com/query/latest/docs/framework/react/react-native)\
[React Native Track Player](https://github.com/doublesymmetry/react-native-track-player)\
[React Native MMKV](https://github.com/mrousavy/react-native-mmkv)
### Love from Wisconsin 🧀
This is undoubtedly a passion project of [mine](https://github.com/anultravioletaurora), and I've learned a lot from working on it (and the many failed attempts before it). I hope you enjoy using it! Feature requests and bug reports are welcome :)
## Special Thanks To
- The [Jellyfin Team](https://jellyfin.org/) for their amazing server software
- Tony, Alyssa for their contributions
## Running Locally
Clone the repository and run ```npm i``` to install the dependencies