{"id":13620630,"url":"https://github.com/JellyBookOrg/JellyBook","last_synced_at":"2025-04-14T22:31:59.599Z","repository":{"id":62279862,"uuid":"558914213","full_name":"JellyBookOrg/JellyBook","owner":"JellyBookOrg","description":"A nice way to read books and comics from Jellyfin","archived":false,"fork":false,"pushed_at":"2025-01-11T20:29:37.000Z","size":52161,"stargazers_count":604,"open_issues_count":33,"forks_count":21,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-09T14:15:58.269Z","etag":null,"topics":["android","dart","flutter","hacktoberfest","ios","jellyfin","jellyfin-client"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JellyBookOrg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"jellybook","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-10-28T15:27:52.000Z","updated_at":"2025-04-08T01:47:23.000Z","dependencies_parsed_at":"2023-02-19T02:15:57.396Z","dependency_job_id":"896da56a-0d68-455d-bc4c-fbb161001ba2","html_url":"https://github.com/JellyBookOrg/JellyBook","commit_stats":{"total_commits":544,"total_committers":45,"mean_commits":"12.088888888888889","dds":"0.20772058823529416","last_synced_commit":"d9b8bd30829e13ec83be7565182ce122826f6fa8"},"previous_names":["jellybookorg/jellybook","kara-zor-el/jellybook"],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JellyBookOrg%2FJellyBook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JellyBookOrg%2FJellyBook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JellyBookOrg%2FJellyBook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JellyBookOrg%2FJellyBook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JellyBookOrg","download_url":"https://codeload.github.com/JellyBookOrg/JellyBook/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602313,"owners_count":21131616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dart","flutter","hacktoberfest","ios","jellyfin","jellyfin-client"],"created_at":"2024-08-01T21:00:57.914Z","updated_at":"2025-04-14T22:31:59.559Z","avatar_url":"https://github.com/JellyBookOrg.png","language":"Dart","funding_links":["https://opencollective.com/jellybook"],"categories":["Dart"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eJellyBook\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003eA book and comic reader for Jellyfin\u003c/h3\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003ca href=\"https://hosted.weblate.org/engage/JellyBook/\"\u003e\n    \u003cimg src=\"https://hosted.weblate.org/widgets/JellyBook/-/jellybook-app/svg-badge.svg\" alt=\"Translation status\" /\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/Kara-Zor-El/JellyBook\"\u003e\n  \u003cimg alt=\"GitHub release (latest by date including pre-releases)\" src=\"https://img.shields.io/github/v/release/Kara-Zor-El/JellyBook?include_prereleases\"\u003e\n\u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/com.KaraWilson.JellyBook/\"\u003e\n    \u003cimg alt=\"IzzyOnDroid\" src=\"https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.KaraWilson.JellyBook\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src='./assets/images/Logo.png' width='30%' height='30%' /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Hi, this is a passion project I am working on.\n  Its an app that's meant to allow you to read ebooks, comics, and listen to audiobooks from your Jellyfin server.\n\u003c/p\u003e\n\n\u003ch1\u003eTable of Contents\u003c/h1\u003e\n\n   * [⚡ Installation:](#zap-installation)\n   * [📷 Screenshots (and videos):](#camera-screenshots-and-videos)\n   * [📁 File formats:](#file_folder-file-formats)\n      * [🎵 Audiobook formats:](#musical_note-audiobook-formats)\n   * [ Currently Unsupported Filetypes ](#-currently-unsupported-filetypes-)\n   * [ Currently Unsupported Audiobooks Filetypes ](#-currently-unsupported-audiobooks-filetypes-)\n   * [🚧 Todo:](#construction-todo)\n   * [📞 Contact Me](#telephone_receiver-contact-me)\n   * [⚙️ Contributing:](#️-contributing)\n   * [📚 Translating:](#-translating)\n   * [🎉 Special Thanks:](#-special-thanks)\n   * [🤔 Why is Development so Slow?](#-why-is-development-so-slow)\n\n## :zap: Installation:\n| Platform | Link |\n| :------: | :--: |\n| **iOS** | \u003ca href=\"https://testflight.apple.com/join/lEXKY4Dl\"\u003e\u003cimg width='180' alt='Download on TestFlight' src='assets/githubImages/testflight-badge.png'/\u003e\u003c/a\u003e |\n| **Google Play and Galaxy Store** | Download the latest release for your current platform from the releases. It will at some point be added to the Google Play store and may be added to the Galaxy Store |\n| **F-Droid** | \u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/com.KaraWilson.JellyBook/\"\u003e\u003cimg width='180' alt='Get it on IzzyOnDroid' src='assets/githubImages/IzzyOnDroid.png'/\u003e\u003c/a\u003e\u003cp\u003eSoon to be submitted to the F-Droid store\u003c/p\u003e |\n| **Other Platforms** | If you would like to see this app on your platform, please open an issue and I will see what I can do. |\n\n\u003e [!NOTE]\n\u003e Any distribution platforms listed above I consider official and trusted. Any sources not listed above are not official and may contain malware and are to be used at your own risk.\n\n\u003c/br\u003e\n\n## :camera: Screenshots (and videos):\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n[![ JellyBook demo video](./assets/githubimages/screenshots/JellyBookDemo.mov)](./assets/githubImages/demos/JellyBookDemo.mov)\n\n\n| Screen | Images (Phone) | Images (Tablet) |\n| :---------------: | :--------------------: | :---------: |\n| Library Screen | \u003cimg src='./assets/githubImages/screenshots/Phone/LibraryView.png' height='600'\u003e | \u003cimg src='./assets/githubImages/screenshots/Tablet/LibraryView.png' height='600'\u003e |\n| Collection Screen | \u003cimg src='./assets/githubImages/screenshots/Phone/CollectionScreenView.png' height='600'\u003e | \u003cimg src='./assets/githubImages/screenshots/Tablet/CollectionScreenView.png' height='600'\u003e |\n| Book Info Screen | \u003cimg src='./assets/githubImages/screenshots/Phone/InfoScreenView.png' height='600'\u003e | \u003cimg src='./assets/githubImages/screenshots/Tablet/InfoScreenView.png' height='600'\u003e |\n| Search Screen | \u003cimg src='./assets/githubImages/screenshots/Phone/SearchScreenView.png' height='600'\u003e | \u003cimg src='./assets/githubImages/screenshots/Tablet/SearchScreenView.png' height='600'\u003e |\n\n\n\u003c/details\u003e\n\n## :file_folder: File formats:\n| Format | Known Issues / Planned Features | Specification(s) |\n| :----- | :---------- | :------------ |\n| `.cbr` \u0026 `.rar` | \u003cul\u003e\u003cli\u003e**CBR is a proprietary file format so is not necessarily encouraged.**\u003c/li\u003e\u003cli\u003eCBR files don't support streaming yet.\u003c/li\u003e\u003cli\u003eThe library is using deprecated functions.\u003c/li\u003e\u003cli\u003eThe view for them currently does not show a progress indicator.\u003c/li\u003e\u003c/ul\u003e | \u003cul\u003e\u003cli\u003e[CBR/RAR](https://www.rarlab.com/technote.htm)\u003c/li\u003e\u003c/ul\u003e |\n| `.cbz` \u0026 `.zip` | \u003cul\u003e\u003cli\u003eThe view for them currently does not show a progress indicator. | \u003cul\u003e\u003cli\u003e[CBZ/ZIP](http://www.idea2ic.com/File_Formats/ZIP%20File%20Format%20Specification.pdf)\u003c/li\u003e\u003c/ul\u003e |\n| `.pdf` | \u003cul\u003e\u003cli\u003eSometimes throws an error that the content isn't downloaded even when it is.\u003c/li\u003e\u003cli\u003eOnly supports horizontal scrolling currently.\u003c/li\u003e\u003cli\u003eNo progress bar currently.\u003c/li\u003e\u003c/ul\u003e | \u003cul\u003e\u003cli\u003e[ISO 32000-1:2008(en)](https://www.iso.org/obp/ui/#iso:std:iso:32000:-1:ed-1:v1:en)\u003c/li\u003e\u003cli\u003e[ISO 32000-2:2020(en)](https://www.iso.org/obp/ui/#iso:std:iso:32000:-2:ed-2:v1:en)\u003c/li\u003e\u003c/ul\u003e | \n| `.epub` | \u003cul\u003e\u003cli\u003eImage support is not the greatest.\u003c/li\u003e\u003cli\u003eNo horizontal support yet.\u003c/li\u003e\u003cli\u003eJust not in a state where I'd consider the support proper.\u003c/li\u003e\u003c/ul\u003e | \u003cul\u003e\u003cli\u003e[EPUB 3.2](https://www.w3.org/publishing/epub3/epub-spec.html) |\n### :musical_note: Audiobook formats:\n- Currently, the app supports the following formats:\n  - `flac`\n  - `mpga`\n  - `mp3`\n  - `m3u`\n  - `m3u8`\n  - `m4a`\n  - `m4b`\n  - `wav`\n\u003c/br\u003e\n\n\n\u003e Note: this is partially due to the fact that [Jellyfin Bookshelf Plugin](https://github.com/jellyfin/jellyfin-plugin-bookshelf) only currently supports `epub`, `mobi`, `pdf`, `cbz`, and `cbr` for books and `mp3`, `m4a`, `m4b`, and `flac` for audiobooks. I am unsure if other formats can be added here until the plugin is updated.\n\n| \u003ch2\u003e Currently Unsupported Filetypes \u003c/h2\u003e |\n| :-- |\n| \u003cul\u003e\u003cli\u003e`.cbt`/`.tar`\u003cli\u003e`.cba`/`.ACE`\u003c/li\u003e\u003cli\u003e`.cb7`/`.7z`\u003c/li\u003e\u003cli\u003e`tar.gz`\u003c/li\u003e\u003cli\u003e`.WebP`\u003c/li\u003e\u003cli\u003e`.gif`\u003c/li\u003e\u003cli\u003e`.lrf`/`.lrx`\u003c/li\u003e\u003cli\u003e`.djvu`\u003c/li\u003e\u003cli\u003e`.pdb`\u003c/li\u003e\u003cli\u003e`.fb2`\u003c/li\u003e\u003cli\u003e`.ibooks`\u003c/li\u003e\u003cli\u003e`.azw`/`.azw3`/`.kf8`/`.kfx`\u003c/li\u003e\u003cli\u003e`.pcf`/`.mobi`\u003c/li\u003e\u003cli\u003e`.opf`\u003c/li\u003e\u003cli\u003e`.txt`\u003c/li\u003e\u003cli\u003e`.oxps`/`.xps`\u003c/li\u003e\u003c/ul\u003e |\n| \u003ch2\u003e Currently Unsupported Audiobooks Filetypes \u003c/h2\u003e |\n| \u003cul\u003e\u003cli\u003e`.aax`\u003c/li\u003e\u003cli\u003e`.aac`\u003c/li\u003e\u003cli\u003e`.ogg`\u003c/li\u003e\u003c/ul\u003e\n\n## :construction: Todo:\n - [ ] A more consistent experience between all book formats\n - [ ] Redesign several screens to give them a more cross-platform and polished feel\n - [ ] Multiple server support\n - [ ] For the download completed screen I want to add a image or GIF of a jellyfish reading a book (credit to thornbill on the Matrix server for that idea)\n - [ ] UI overhaul in several areas of the app (will keep current as options for those who want it)\n    - Part of the current issue is that it looks like an Android app made in Flutter; although it is made in Flutter, I want it to have a more cross-platform feel to it\n    - I also want to make it more visually appealing (I am a programmer, not a designer and would love some help with this)\n - [ ] Background download\n - [ ] Publish to several stores\n - [ ] Proper code documentation\n - [ ] Proper testing (unit, integration, and widget... I have very little experience with this)\n - [ ] Full code restructuring and refactoring\n - [ ] Use [Tentacle](https://github.com/jmshrv/finamp/discussions/480) as new API client (must work on this first)\n - [X] Add a proper page on IzzyOnDroid using fastlane (see [here](https://github.com/JellyBookOrg/JellyBook/issues/107#issuecomment-1714632725))\n - [ ] Add dynamic loading of books on library view to prevent slowdowns\n - [X] Allow user to edit metadata of books (both locally and on the server)\n - [X] Vertical scrolling\n - [X] Audiobooks\n - [X] Allow local caching of current files while viewing collection when offline (proper offline support)\n - [X] Remember user support\n - [X] Settings page\n\n## :telephone_receiver: Contact Me\n - Discord: `kmp3e`\n - Matrix: `@kmp3e:matrix.org`\n - Email: mailto:kara.wilson.2005.08@gmail.com\n - Feel free to submit an issue on GitHub\n \n## ⚙️ Contributing:\n - [Check out our wiki here](https://github.com/Kara-Zor-El/JellyBook/wiki)\n - [Check out our Weblate instance to help translate](https://hosted.weblate.org/projects/JellyBook/jellybook-app/)\n - Add features mentioned in [Todo](JellyBook#construction-todo)\n - Take a look at the project page to see planned features\n - Take a look at the sponsors sections and help sponsor this project :)\n\n## 📚 Translating:\n\n\u003ca href=\"https://hosted.weblate.org/engage/JellyBook/\"\u003e\n  \u003cimg src=\"https://hosted.weblate.org/widgets/JellyBook/-/jellybook-app/multi-auto.svg\" alt=\"Translation status\" align=\"center\"/\u003e\n\u003c/a\u003e\n\n\n## 🎉 Special Thanks:\n - Thank you to [u/anekdotos](https://reddit.com/u/anekdotos) on Reddit for donating to the project so it could be published on iOS\n - Thank you to Weblate for hosting translation\n - Thank you to IzzyOnDroid for packaging and hosting the app on their repo\n - Thank you to [Sentry](https://sentry.io) for providing error tracking (with their open source plan)\n - And of course, thank you to all the contributors and users of the app\n\n## 🤔 Why is Development so Slow?\n- I am a full time student and work part time. I recently had midterms come up which caused me to have to slow down on my working on this project. This project is really fun to work on for me but that being said, without making any money from it or receiving any donations my ability to work on this project is hindered. This is since I do need money to help pay for my education and living expenses. I would really love to be able to work on open source full time but unfortunately that is not possible at this current time to work on it like how I was previously.\n- That all being said, I do also have a tendency to burn out a lot when going at the rate I was going when I started this project so have tried to slow down to a pace where I'm ensuring I don't burn out and slowly over time plan to increase my frequency of working on this project to a place more close to where it was previously.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJellyBookOrg%2FJellyBook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJellyBookOrg%2FJellyBook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJellyBookOrg%2FJellyBook/lists"}