ShelfDroid is a third-party Android client for Audiobookshelf, designed to provide seamless access to your audiobook collection. Stream, organize, and enjoy your audiobooks with an intuitive interface built specifically for Android.
- An active Audiobookshelf server instance.
- Android device running version 7.0 (Nougat) or higher.
This project uses ktfmt for Kotlin code formatting, applying Googleβs Kotlin style guide.
To format all Kotlin files in the project, run:
ktfmt --google-style .
Maintaining a consistent style across the codebase helps improve readability and reduce noise in pull requests.
ShelfDroid follows the Android Architecture Templates (Multi-Module) to ensure a scalable and maintainable codebase.
- Implement core audiobook streaming functionality.
- Add offline downloading and playback.
- Improve search and filtering features.
- Introduce custom themes for personalization.
- Add in-app settings for customization.
- Integrate Google Assistant for voice control.
- Enhance playback controls with bookmarks and sleep timers.
- Develop a modern and user-friendly UI.
- Support audiobook chapters for easy navigation.
Feel free to check out the Issues section to see whatβs in progress or suggest new features!
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName
- Make your changes and commit them using Commitizen:
This will guide you through creating a compliant commit message.
cz c
- Push your branch:
git push origin feature/YourFeatureName
- Open a Pull Request.
For more details on using and extending this project, check out the Documentation.
- Audiobookshelf β The powerful server that ShelfDroid connects to.
Fernando Fransisco Halim
GitHub: 100nandoo
Project Link: ShelfDroid Repository