Coder Social home page Coder Social logo

khubaibkhan4 / flexi-store-kmp Goto Github PK

View Code? Open in Web Editor NEW
45.0 4.0 3.0 98.82 MB

Flexi-Store is an Ecommerce Application developed using Compose Multiplatform (Android,iOS,Desktop & Web). It's uses the Custom Server for it.

Home Page: https://www.linkedin.com/in/khubaibkhandev/

License: GNU General Public License v3.0

Kotlin 99.84% HTML 0.05% Swift 0.10%
compose-desktop compose-multiplatform composer-library desktop-app jvm kotlin-coroutines kotlin-multiplatform webapp android-application compose-ui desktop-application ios-app jvm-applications swift swiftui web-application

flexi-store-kmp's Introduction

Flexi-Store-KMP

Flexi-Store-KMP

Overview

Flexi Store KMP is a Compose Multiplatform Project that uses the Custom Ktor Server as a Backend & Supports Android, iOS, Web & Desktop. Basically, It's an Amazon Clone & Will contains all the features in the future including the Seller Central too where users can register and sell their products to earn.

Supported Features

  • User Authentication: Secure user authentication and authorization with OAuth, Firebase Authentication, or custom methods.
  • Payment Integration: Seamless integration with popular payment gateways like PayPal, Stripe, or Square for secure transactions.
  • Product Recommendations: Advanced recommendation engine suggests products based on user preferences and browsing history.
  • Advanced Search: Filter, sort, and search for products efficiently with advanced search options.
  • Order Tracking: Real-time order tracking provides updates on order processing, shipping, and delivery status.
  • Multi-language Support: Support for multiple languages to cater to a diverse user base.
  • Responsive Design: Responsive user interface optimized for various screen sizes and resolutions.
  • Push Notifications: Keep users informed with push notifications for order updates, new products, and promotions.
  • Social Media Integration: Share products, reviews, and store links on social media platforms.
  • Wishlist and Favorites: Create wishlists and mark products as favorites for easy access.
  • Discounts and Coupons: Offer discounts, coupons, and promotional offers to incentivize purchases.
  • Customer Support: Built-in chat or messaging system for customer support and assistance.
  • Product Reviews and Ratings: Leave reviews and ratings for products to help other users make informed decisions.
  • Inventory Management: Inventory tools for sellers to track stock levels and manage product listings.
  • Analytics and Reporting: Track key metrics such as sales performance and user engagement with analytics and reporting features.

Future Planning Features

  • Seller Central: Allow users to register as sellers and manage their own stores, including product listings, order management, and analytics.
  • Social Media Integration: Enable sharing products, reviews, and purchases on social media platforms for increased visibility and engagement.
  • AI-Powered Recommendations: Implement machine learning algorithms to improve product recommendations and personalize the shopping experience further.
  • Voice Search: Integrate voice search functionality for hands-free navigation and product discovery.
  • Augmented Reality: Utilize AR technology to enable virtual product try-on and visualization before purchase.
  • Blockchain Integration: Explore blockchain technology for enhanced security, transparency, and traceability in transactions and supply chain management.
  • Subscription Services: Introduce subscription-based services for regular product deliveries, memberships, or premium content access.
  • Offline Mode: Develop offline functionality to allow users to browse products and make purchases without an internet connection.
  • Expanded Payment Options: Add support for additional payment methods, such as cryptocurrencies, digital wallets, and installment plans.
  • Community Forums: Create community forums or discussion boards for users to interact, share tips, and ask questions related to products and shopping.
  • Gamification: Incorporate gamification elements like loyalty programs, challenges, and rewards to enhance user engagement and retention.

Technologies Used

Jetpack Compose Dependencies

  • androidx-activityCompose: For integrating Compose with Android activities.
  • androidx-testManifest: Provides testing support for Jetpack Compose.
  • androidx-junit4: Integration of JUnit 4 for Compose UI testing.

Voyager Navigator

  • voyager-navigator: A navigation library for Jetpack Compose.

Compose Image Loader

  • composeImageLoader: A library for loading images in Jetpack Compose applications.

Logging

  • napier: A logging library for Kotlin Multiplatform projects.

Kotlin Coroutines

  • kotlinx-coroutines-core: Core module for Kotlin coroutines.
  • kotlinx-coroutines-android: Coroutines support for Android.
  • kotlinx-coroutines-swing: Coroutines support for Swing.
  • kotlinx-coroutines-test: Testing utilities for Kotlin coroutines.

MVVM Architecture

  • moko-mvvm: MVVM architecture library for Jetpack Compose.

Networking

  • ktor-core: Core module of the Ktor HTTP client.
  • ktor-client-darwin: Ktor client for iOS.
  • ktor-client-okhttp: Ktor client using OkHttp.
  • ktor-client-js: Ktor client for JavaScript.
  • ktor-content-negotiation: Content negotiation support for Ktor clients.
  • ktor-serialization-json: JSON serialization support for Ktor.
  • ktor-logging: Logging support for Ktor clients.
  • ktor-client-curl: Ktor client for cURL.
  • ktor-client-winhttp: Ktor client for Windows HTTP stack.

Serialization

  • kotlinx-serialization-json: JSON serialization library for Kotlin.

Date and Time

  • kotlinx-datetime: Date and time library for Kotlin Multiplatform.

Dependency Injection

  • koin-core: Core module of the Koin dependency injection framework.
  • koin-annotations: Annotations for Koin dependency injection.

Image Handling

  • kamel-image: Image library for Kotlin Multiplatform.

Material Design

  • screen-size: Material Design library for handling window size class in Jetpack Compose.

Database

  • sqlDelight-driver-sqlite: SQLite driver for SQLDelight.
  • sqlDelight-driver-android: Android driver for SQLDelight.
  • sqlDelight-driver-native: Native driver for SQLDelight.
  • sqlDelight-driver-js: Web worker driver for SQLDelight.

These technologies are utilized to develop a robust and feature-rich Kotlin Multiplatform Ecommerce application that supports Android, iOS, Web, and Desktop platforms.

Mobile Screen Shots

Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6
Screenshot 7 Screenshot 8 Screenshot 9
Screenshot 10 Screenshot 11 Screenshot 12
Screenshot 13 Screenshot 14 Screenshot 15
Screenshot 16 Screenshot 17 Screenshot 18
Screenshot 19 Screenshot 20 Screenshot 21
Screenshot 22 Screenshot 23 Screenshot 24
--- --- ---
Screenshot 25 Screenshot 26 Screenshot 27
Screenshot 28 Screenshot 29 Screenshot 45
Screenshot 46 Screenshot 47 Screenshot 48
Screenshot 49 Screenshot 62 Screenshot 63
Screenshot 64 Screenshot 65 Screenshot 66
Screenshot 67 Screenshot 68 Screenshot 69
Screenshot 70 Screenshot 71 Screenshot 72
Screenshot 73 Screenshot 74 Screenshot 74

Desktop Screen Shots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Screenshot 10
Screenshot 11
Screenshot 12
Screenshot 13
Screenshot 14
Screenshot 15
Screenshot 16
Screenshot 17
Screenshot 18
Screenshot 19
Screenshot 20
Screenshot 21
Screenshot 22
Screenshot 23
Screenshot 24
Screenshot 25
Screenshot 26
Screenshot 27
Screenshot 28
Screenshot 29
Screenshot 30
Screenshot 31
Screenshot 32
Screenshot 33
Screenshot 34
Screenshot 35
Screenshot 36
Screenshot 37
Screenshot 38
Screenshot 39
Screenshot 40

Before running!

  • check your system with KDoctor
  • install JDK 17 or higher on your machine
  • add local.properties file to the project root and set a path to Android SDK there

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :composeApp:assembleDebug
  • find .apk file in composeApp/build/outputs/apk/debug/composeApp-debug.apk Run android simulator UI tests: ./gradlew :composeApp:pixel5Check

Desktop

Run the desktop application: ./gradlew :composeApp:run Run desktop UI tests: ./gradlew :composeApp:jvmTest

iOS

To run the application on iPhone device/simulator:

  • Open iosApp/iosApp.xcproject in Xcode and run standard configuration
  • Or use Kotlin Multiplatform Mobile plugin for Android Studio Run iOS simulator UI tests: ./gradlew :composeApp:iosSimulatorArm64Test

Experimental Browser (JS)

Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun --continue Run browser UI tests: ./gradlew :composeApp:jsBrowserTest

flexi-store-kmp's People

Contributors

khubaibkhan4 avatar

Stargazers

Multi Platform avatar Park Jonghun avatar JI HUN LEE avatar Pradeep L S avatar 残血战士 avatar  avatar Mohamed Gharieb avatar zhaocy avatar Chetan Gupta avatar Diego Beraldin avatar Kazem Moridi avatar Aleksey Mikhailov avatar Khaled sherif avatar Ahmed Rehman avatar Kaustubh Bhagwat avatar William avatar windedge avatar Tikeshwar sahu avatar Muhammad Sayed avatar Musyoka Muasya avatar M.Saif khan avatar Moataz Mohamed avatar Debasish Bose avatar Giovanny Velez avatar ꧁SHͥAFͣIͫ࿐⁰⁰⁷ avatar AbdulMateen avatar Satyajit Biswal avatar Narayan Panthi avatar Christoph avatar Burak Akgün avatar Gujjula Ramesh Reddy avatar dt_emmy avatar pablichjenkov avatar Bipul Islam avatar Nguyễn Quang Minh (NQM) avatar Mohammad Shadab avatar Juan Sanz avatar Furkan Türkan avatar Rodrigo Guerrero avatar Binay Shaw avatar jamilxt avatar Thusee avatar Jayant Kumar avatar Muhammad Zohaib Imtiaz avatar  avatar

Watchers

Bipul Islam avatar  avatar  avatar Muhammad Zohaib Imtiaz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.