Loading repository data…
Loading repository data…
razaghimahdi / repository
This is a cross-platform application that is built using Jetpack Compose Multiplatform, a declarative framework for sharing UIs across multiple platforms with Kotlin.
Welcome to the documentation for the Jetpack Compose Multiplatform Shopping Application! This is a cross-platform application that is built using Jetpack Compose Multiplatform, a declarative framework for sharing UIs across multiple platforms with Kotlin. The application allows users to browse, search, and purchase products from a shopping catalog on Android, iOS, Desktop, Web, Automotive and AndroidTV.
https://github.com/razaghimahdi/Shopping-By-KMP/assets/61207818/a4702cbf-1449-48b0-88f1-bcb9c42d273e
https://github.com/user-attachments/assets/2ceedcef-0ec8-4886-904a-3975e6c2ea6f
https://github.com/user-attachments/assets/9b7cbb10-3f95-4355-a9c7-3b23147dda18
https://github.com/user-attachments/assets/808a72b9-d591-44e4-a29f-16a1fd99e462
If you like or are using this project to learn or start your solution, please give it a star. Thanks!
How to handle error in best practice
How to set up Convention Gradle Plugin in CMP
How to create custom Number Formatting in CMP
How to upload in CMP Using Ktor
| Feature | Status |
|---|---|
| Login, Sign Up | ✔️ Implemented |
| Home | ✔️ Implemented |
| Product Detail and Comments | ✔️ Implemented |
| Wishlist | ✔️ Implemented |
| Cart | ✔️ Implemented |
| Profile | ✔️ Implemented |
| Search | ✔️ Implemented |
| Category | ✔️ Implemented |
| Edit Profile | ✔️ Implemented |
| Manage Address | ✔️ Implemented |
| Payment Method | ✔️ Implemented |
| My Orders | ✔️ Implemented |
| My Coupons | ✔️ Implemented |
| Notifications | ✔️ Implemented |
| Setting | ✔️ Implemented |
Obviously it would be more updates, What we are working on these days?
Added AutomotiveApp — the application is now compatible with Android Automotive OS, making it available for in-car systems.
Introduced WebApp — access the app directly from your browser.
Added TvApp — enjoy the app on Android TV devices.
Introduced DesktopApp — the app now runs on desktop environments (Windows, macOS, Linux).
Improved the splash screen UI with smoother animations for a better user experience.
Integrated GoogleMap for enhanced address input.
Users can now select their location on the map before filling out address details, ensuring greater precision.
During the development of this project, i encountered several challenges that required creative solutions. Some of the key challenges I addressed include:
These challenges underscored the complexity of developing a cross-platform shopping application and pushed us to innovate and refine our solutions continually.
The Jetpack Compose Multiplatform Shopping Application is built using the Clean Architecture and the MVI (Model-View-Intent) pattern.
Testing is a crucial aspect of software development to ensure the reliability and functionality of the application. In the Shopping-By-KMP project, we utilize various testing frameworks and tools to maintain the quality of our codebase.
This project features two powerful backend implementations: a Kotlin-based backend using Ktor for modern connected applications, and a Laravel + Livewire backend for managing an admin panel.
The Kotlin backend is built with Ktor, a modern framework for creating asynchronous web applications and services. It leverages Kotlin Coroutines for non-blocking execution and includes a set of carefully selected libraries to ensure security, scalability, and maintainability.
This stack enables building reactive APIs, secure user management, and robust database interactions, all with a clean and maintainable architecture.
Alongside the Kotlin backend, the project also provides a Laravel + Livewire admin panel for managing the e-commerce platform.
✅ For development:
./gradlew :webApp:jsBrowserDevelopmentRun
✅ For production:
./gradlew :webApp:jsBrowserProductionRun
Contributions are welcome! If you have any feedback or suggestions, please don't hesitate to let us know. We appreciate your contributions and support. Also if you find a bug or would like to create a new feature, please submit a pull request.
This library is licensed under the MIT License. See LICENSE.txt
https://github.com/JetBrains/compose-multiplatform-ios-android-template https://github.com/JetBrains/compose-multiplatform
Developed by Mahdi Razzaghi Ghaleh