• Stars
    star
    895
  • Rank 49,008 (Top 1.0 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 1 year ago
  • Updated 15 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An android app to download & read ebooks from Project Gutenberg, built with Jetpack Compose.

Myne | Ebook Downloader

GitHub GitHub code size in bytes Project Status: Active – The project has reached a stable, usable state and is being actively developed. build-workflow


Myne is a FOSS Android application to download ebooks from the Project GutenBerg, it uses GutenDex API to fetch metadata of ebooks in the backend.

The name of the app is inspired from the main character of an anime called Ascendance of a Bookworm.

Note The app also uses Google Books API to fetch some extra data like book summary and pages count etc, as the GutenBerg project don't include those values in their metadata. It tries it's best to map the data received from Google books with Gutenberg's metadata but the mapping is not 100% accurate and not all books available on GutenBerg is also available on Google books or is available but with different title, so you may find some books without summary or page count etc.


Donations

If this project helped you a little bit, please consider donating a small amount to keep the projects going, Your donations helps ensure that my open source projects are actively maintained. You can donate via following mediums:

Github-sponsors Bitcoin Ethereum

Or you could just buy the app from Google Play Store. You'll get constant updates without the need to get all the way here and download the release all by yourself and install the release all by yourself and then you realize you have a different package name so you contact me but I really don't have time for this so I update it on google play and then you realize your installer doesn't work and then you realize your whole life is like this, miserable and not working but then you see a point of light in the distance so you run towards and it's the "Buy" button in the Myne's page on google play, it'll make your life easier.


Downloads

Get it on Google Play Get it on F-Droid Get it on IzzyOnDroid Get it on GitHub

Screenshots


Highlights

  • Clean & beautiful UI based on Google's material design three guidelines.
  • Browse and download over 70k free ebooks available in multiple languages and updated daily.
  • Comes with inbuilt ebook reader while also having an option to use third-party ebook readers.
  • Compatible with Android 8.0 and above (API 26+)
  • Supports Material You theming in devices running on Android 12+
  • Comes in both light and dark mode.
  • MAD: UI and logic written with pure Kotlin. Single activity, no fragments, only composable destinations.

Translations

If you want to make app available in your language, you're very welcome to create a pull request with your translation file. The string resources can be found under /app/src/main/res/values/strings.xml. It is easiest to make a translation using the Android Studio XML editor, but you can always go with your favorite XML-text editor instead. Checkout this guide to learn more about translation strings from Helpshift for Android.


Tech Stack

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - To improve performance by doing I/O tasks out of main thread asynchronously.
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • OkHttp3 - OkHttp is an HTTP client for Android that’s efficient by default.
  • Gson - A Java serialization/deserialization library to convert Java Objects into JSON and back.
  • Jsoup - Jsoup is a Java library for working with HTML. It provides a convenient API for extracting and manipulating data, using the HTML5 DOM methods and CSS selectors.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Dagger-Hilt For Dependency injection (DI)
  • Room database - Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

License

Apache License 2.0 © Stɑrry Shivɑm

Copyright 2022 - 2023 Stɑrry Shivɑm

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.