"QuoteVault" is a modern Kotlin Multiplatform (KMP) application designed to deliver daily inspiration right to your fingertips. Built with 100% Compose UI, it targets Android, iOS, and Desktop platforms, providing a consistent and delightful user experience across all devices.
-
Multiplatform Support: Seamlessly runs on Android, iOS, and Desktop.
-
Daily Quotes: Fetches inspiring quotes from a public API.
-
Clean UI: Beautiful and intuitive user interface built entirely with Compose Multiplatform.
-
Shimmer Effect: Provides a smooth loading experience with shimmer animations.
-
Theming: Dynamic and consistent theming across platforms using MaterialKolor.
This project adheres to a Clean Architecture approach, leveraging the MVVM (Model-View-ViewModel) pattern and a dedicated Repository Pattern to ensure separation of concerns, testability, and maintainability.
-
Model: Represents the data and business logic.
-
View: The Compose UI, responsible for displaying data and handling user interactions.
-
ViewModel: Acts as a bridge between the View and the Model, exposing data streams and handling UI-related logic.
-
Repository: Abstracts the data sources (e.g., network API, local database), providing a clean API for the ViewModels to retrieve and store data without knowing the underlying implementation details.
This project leverages the power of Kotlin Multiplatform and Compose Multiplatform, along with a suite of cutting-edge libraries:
-
Kotlin Multiplatform: For sharing code across Android, iOS, and Desktop.
-
Compose Multiplatform: For building declarative UIs across all target platforms.
-
Koin: A pragmatic lightweight dependency injection framework for Kotlin.
-
Ktor Client: A powerful and flexible HTTP client for making network requests to the quote API.
-
Voyager: A pragmatic navigation library for Compose Multiplatform, simplifying screen transitions.
-
Shimmer: For implementing elegant shimmer loading effects.
-
MaterialKolor: For dynamic and consistent theming based on Material Design principles.
-
Compose-Sonner: A highly customizable toast/notification library for Compose Multiplatform.
-
Free API: Used as the public API to fetch inspiring quotes.
To get this project up and running on your local machine, follow these steps:
-
Android Studio (for Android development)
-
Xcode (for iOS development on macOS)
-
Kotlin Multiplatform Mobile Plugin (for Android Studio)
git clone https://github.com/hemantbeast/QuoteVault-KMP.git
cd QuoteVault
-
Open the project in Android Studio.
-
Select the
androidrun configuration. -
Click the 'Run' button or press
Shift + F10.
-
Open the project in Android Studio.
-
Select the
iosApprun configuration. -
Choose your desired iPhone simulator or a connected device.
-
Click the 'Run' button or press
Shift + F10. Alternatively, you can openiosApp/iosApp.xcodeprojin Xcode and run from there.
-
Open the project in Android Studio or IntelliJ IDEA.
-
Select the
desktoprun configuration. -
Click the 'Run' button or press
Shift + F10.
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.


