Marketix is an Android m-commerce app designed to provide a seamless shopping experience to customers and a convenient platform to find what they need from a variety of products from different categories and brands only through their mobile devices.
- Allow sign-up or sign-in using email/password or social media through Firebase authentication.
- Send a verification email to new users.
- Display a set of products from ShopifyDB when users launch the application.
- Provide search and navigation options to find specific products.
- Display ads and Promo codes so users can benefit from them while purchasing.
- Provide users with a list of brand names so they can filter products based on the desired brand.
- Allow filtering of products by price, category, product type, and price.
- Display product details including images, name, available sizes, price, rating, reviews, and description after selecting a product.
- Allow adding products to your favorite or shopping cart.
- Display products with images, names, and prices on the shopping cart screen.
- Allow deletion or adjustment of item quantity and proceed to checkout.
- Provide settings to edit addresses, and currency preferences, enable push notifications, and location services
- Provide account settings to enable users to modify their accounts like changing phone numbers, display names, or profile photos in addition they can log out from the app.
- Provide a list of currencies to choose from and get the latest prices based on up-to-date exchange rates.
- Allow purchase of items and use of discount codes.
- Shopify API for backend
- Android Studio
- Postman
- Figma
- MVI Architectural design pattern
- Kotlin
- Coroutines for Multi-Threading
- Flows for reactive programming
- Dependency Injection with Dagger hilt
- Preferences DataStore
- Kotlin Gradle and Version Catalogs
- Room database for storing data locally
- WorkManager for delegated work
- DataBinding and ViewBinding
- Retrofit for networking
- Google Maps and location services
- Navigation Component
- Lottie Animations
- Firebase
- SDP And SSP for handling different screen sizes
- Timber for logging
To install and run the FoodFlow app, you can follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/AbdelrahmanEsam/shopify.git
-
Open the project in Android Studio.
-
Build the project using the Gradle build system.
-
Run the app on an emulator or a physical device.
That's it! The app should now be up and running on your device.