- 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.
🔐 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.
- 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)
The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture.
- 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
































