Skip to content

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 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

 
 
 

Contributors

Languages