Skip to content

kuluruvineeth/FreeEbooks

Repository files navigation

FreeEbooks 🧿

FreeEbooks is a native android application to download ebooks from the project GutenBerg, it uses GutenDex API to fetch metadata of ebooks in the backend 🗞️ built using the modern android architecture components with MVVM Architecture 🏗 adhering to solid clean architecture principles. Made with love ❤️ by Kuluruvineeth

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.


Preview 🌞

Splash Screen Home Screen Search Books Categories Screen Share Book
Library Screen Delete Book Settings Screen About Screen Theme Change
Light Theme Open Source Libraries Book Detail Screen

Built With 🛠

  • 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.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Dagger-Hilt For Dependency injection (DI)
  • Room database

Walkthrough App

Video

FreeEbooks Downloader App

  • Youtube Playlist Coming Soon.......Stay Tuned!!!

Build-tool 🧰

You need to have Android Studio to build this project.
android-studio


Contribute 🤝

If you want to contribute to this app, you're always welcome!

Contact 📩

Have an project? DM me at 👇

Drop a mail to:- [email protected]


Thank You 🙏👏