Skip to content

A E-Commerce Android application built using Jetpack Compose, following clean architecture principles and modern Android development best practices, and provides a smooth and intuitive shopping experience, allowing users to browse products, manage their cart, and complete payments efficiently.

Notifications You must be signed in to change notification settings

Mohamed-Rafat-Safan/E-Commerce-App-Jetpack-Compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-Commerce-App-Jetpack-Compose

  • A E-Commerce Android application built using Jetpack Compose, following clean architecture principles and modern Android development best practices, and provides a smooth and intuitive shopping experience, allowing users to browse products, manage their cart, and complete payments efficiently.

✨ Features

  🔐 Authentication ==> User login & registration and Secure authentication flow.
  
  🚀 Splash Screen ==> Initial app loading screen and Navigation based on user state.
  
  🏠 Home Screen ==> Browse products and Featured and recommended items.
  
  🔍 Search Screen ==> Search for products and Filter and discover items easily.
  
  📄 Product Details Screen ==> View product images and descriptions and Price and availability details.
  
  ❤️ Favorites Screen ==> Add/remove products from favorites and Persist favorite items.
  
  🛒 Cart Screen ==> Add products to cart, Update quantity or remove items and View total price.
  
  👤 Profile Screen ==> View and manage user profile and Account-related actions.
  
  💳 Payment Screen ==> Complete checkout process By <b><i>PayMob</i></b> , PaymentMethodScreen {Credit Card / Wallet} , Handle payment success & failure and Payment result screen.

🛠️ Technologies Used::

  • language: Kotlin
  • UI layouts using Jetpack Compose
  • Multi-screen by navigation compose
  • Material 3
  • lottie animation
  • Coil Compose
  • Clean Architecture {presentation - domain - data}
  • MVVM/MVI architecture
  • Retrofit2 & Gson - construct the REST APIs.
  • Firebase (Authentication - Firestore Database)
  • Room Database
  • Dependency injection by (Dagger Hilt)
  • ViewModel & StateFlow
  • Coroutines / Flow for asynchronous
  • Integration Payment Gateway By (PayMob)
  • Unit Testing
  • Mocking (mockk)

Images this application:

Icone App & Splash Screen:

   


Authentication:

           

Home Screen:

       

Details Product Screen:

   


Search product Screen:

       

Cart & Favorite Screen:

           

Integration Payment Gateway (Paymob) & Successfully :

           

       

Error Payment :

   


Profile Screen :

           


Architecture

The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture.


Libraries Used 📚

  • Jetpack Compose: Modern UI toolkit for building native Android UIs.
  • Products API: Provides access to products and categories information.
  • Paymob API: Handles secure payment processing, transactions, and payment status verification.
  • Retrofit: Type-safe HTTP client for Android and Java.
  • Firebase: Provides backend services such as authentication, firestore database.
  • MVVM/MVI Architecture: Separates UI, business logic, and data management for easy maintainability.
  • Dagger-Hilt: Reduces the boilerplate of manual dependency injection.
  • Room Database: Local persistence for saving favorite movies.
  • Navigation Compose: Handles app navigation in a declarative way.
  • Coil: To load image from server to UI.

Thanks for checking out the E-Commerce App! Don't forget to ⭐ the repository if you find it helpful. 😊


Made with ❤️ by Mohamed Ra'afat


About

A E-Commerce Android application built using Jetpack Compose, following clean architecture principles and modern Android development best practices, and provides a smooth and intuitive shopping experience, allowing users to browse products, manage their cart, and complete payments efficiently.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages