BookFinder is a Compose Multiplatform application that allows users to search for books and mark them as favorites. Designed for Android, iOS, and desktop, it demonstrates the versatility of modern multiplatform development and incorporates the Model-View-Intent (MVI) design pattern.
The app is built with a strong emphasis on clean code principles, modular architecture, and the use of cutting-edge tools like Ktor, Koin, and Jetpack Compose.
- Search Books: Effortlessly search for books using a fast and intuitive search interface.
- Favorite Books: Mark your favorite books for quick access.
- Cross-Platform Compatibility: Works seamlessly across Android, iOS, and desktop platforms.
- Kotlin Multiplatform: Share business logic across Android, iOS, and desktop platforms.
- Jetpack Compose Multiplatform: Build a modern and responsive UI for all platforms.
- Koin: Lightweight dependency injection for managing app components.
- Ktor: Fetch data from Open Library API with ease.
- Model-View-Intent (MVI): Implements a unidirectional data flow for better state management and maintainability.
- KDoc Documentation: Comprehensive inline documentation for easier code navigation and understanding.
- Domain Layer: Contains business logic and use cases.
- Data Layer: Manages network requests with Ktor and handles data storage.
- Presentation Layer: Connects UI components with business logic using the MVI pattern.
We welcome contributions to enhance the functionality of TaskMinder! Whether it's fixing a bug, adding a new feature, or improving documentation, your help is appreciated.
To contribute:
- Fork the repository.
- Create a new branch (git checkout -b feature-YourFeature).
- Make your changes and commit them (git commit -am 'Add YourFeature').
- Push the branch to your fork (git push origin feature-YourFeature).
- Create a Pull Request. Feel free to open issues if you encounter any problems or have suggestions!