8000 GitHub - tawhidmonowar/ReadOut: ReadOut is a cross-platform reading companion for Android and Desktop, built with Kotlin Multiplatform and Compose Multiplatform.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ReadOut is a cross-platform reading companion for Android and Desktop, built with Kotlin Multiplatform and Compose Multiplatform.

License

Notifications You must be signed in to change notification settings

tawhidmonowar/ReadOut

Repository files navigation

ReadOut

ReadOut

ReadOut is a cross-platform reading companion for Android and Desktop, built with Kotlin Multiplatform and Compose Multiplatform. It empowers users to explore millions of books, stream thousands of free audiobooks, and access AI-generated summaries in both text and audio formats — all designed to save your time and keep you informed.

Download . Report Bug . Request Feature

Get it on OpenAPK Get it on GitHub Direct APK Download

GitHub License Platforms GitHub Release GitHub Downloads (all assets, all releases) FreePalestine

App Features

The ReadOut app offers 28 million books, 20,000+ audiobooks, and features like AI-powered insights, personalized book searches, favorite book saving, dual themes, and seamless audio playback on both desktop and mobile. It's currently in the early stages of development, so feel free to report any issues or suggestions.

  • Audiobook Playback (Desktop and Mobile)
  • Extensive Book Browsing
  • AI-Powered Book Insights
  • Book Insight by User Input
  • Save Favorite Books
  • Search Books by Title, Author, or Genre
  • Dual Themes (Dark and Light)
  • Audio Background Playback Support
  • User-Friendly Interface with Easy Navigation

Screenshots (Android)

Home Screen Search Screen Details Screen Save Screen

Screenshots (Desktop)

The UI design is fully responsive, ensuring a user-friendly experience across all devices, regardless of screen size, also the UX is carefully designed to be intuitive and enjoyable, providing a smooth experience for every user.

Home Screen Search Screen

User Guide

Discover Books

  • Open the app and navigate to the OpenLibrary section.
  • Use the search bar to find books by title, author, or genre.
  • Browse curated recommendations and popular titles.

Play Audiobooks

  • Go to the Audiobooks section and select a book.
  • Tap the Play button to start listening.
  • Use the playback controls to pause, rewind, or fast-forward.

Generate Summaries

  • Open the details page of any book.
  • Tap the Summarize button to generate an AI-powered text or audio summary.
  • Alternatively, navigate to the Summarize section.
  • Enter the required details and tap the Summarize button.

Save Books

  • Tap the Save icon on any book to add it to your saved list.
  • Access your saved books in the Saved section.

Switch Themes

  • Open the app’s settings.
  • Toggle between Light and Dark themes to customize the app’s appearance.

Clear Data

  • Open the app’s settings.
  • Tap Clear all data to remove any saved books or cache from the app.

Installation

  1. Clone the repository:
git clone https://github.com/tawhidmonowar/ReadOut.git
  1. Open the project in Android Studio.
  2. Place API keys in commonMain -> core -> utils -> ApiKey.kt
  3. Build and run the project using Gradle.

Requirements

  • Vlcj (For Desktop Audio Playback)
  • Goolge Gemini API Key
  • Goolge Cloud Text to Speech API Key
  • Android Compile SDK 35
  • Android Gradle Plugin "8.7.3"
  • Kotlin "2.1.0"

Architecture Overview

This project follows the MVI (Model-View-Intent) design pattern combined with Clean Architecture principles to ensure a scalable, maintainable, and testable structure.

image

  • The Presentation Layer is responsible for rendering the UI and managing user interactions via a unidirectional flow of Intent, State, and ViewModel.

  • The Domain Layer encapsulates business logic in UseCases, This layer is completely independent of other layers, ensuring that it can be reused and tested in isolation.

  • The Data Layer abstracts data sources (API, Database) through a Repository pattern.

Technologies and Libraries Used

This project is powered by a combination of awesome technologies and libraries, Below is a list of what’s used.

Name Description
Kotlin Multiplatform Simplifies the development of cross-platform projects.
Compose Multiplatform Builds responsive, modern user interfaces across multiple platforms.
Kotlin Serialization Handles JSON and other formats with built-in serialization support.
Material3 Provides Material Design 3 components and guidelines for UI design.
Datastore Preferences A modern tool for storing key-value data locally.
Koin Manages dependencies in Kotlin apps with minimal effort.
Ktor Client Handles HTTP requests and networking in Kotlin.
Coil Loads images efficiently, designed specifically for Kotlin and Jetpack Compose.
Media3 ExoPlayer Seamless audio and video playback for Android apps.
VLCJ Adds VLC media playback capabilities for desktop Java applications.
SQLite An embedded SQL database for structured data storage.

APIs Used

This project uses several APIs to enhance functionality and provide seamless user experiences. Below is a list of the APIs used in this project.

LibriVox API
LibriVox API

Open Library
Open Library API

Google Gemini
Google Gemini API

Cloud Text-to-Speech
Cloud Text-to-Speech API

Author

Tawhid Monowar - Computer Science & Engineering Student
LinkedIn | Portfolio | Email

About

ReadOut is a cross-platform reading companion for Android and Desktop, built with Kotlin Multiplatform and Compose Multiplatform.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0