This project is an example e-commerce mobile application developed following Clean Architecture principles and using the MVVM (Model-View-ViewModel) architecture.
- Architecture: Developed according to Clean Architecture principles and the MVVM (Model-View-ViewModel) architecture.
- User Management: Supports user login and registration features.
- Product Management: Allows users to add products to the cart and to favorites.
- Search and Filtering: Users can search for products using barcodes and filter products based on various criteria.
- Cart and Discounts: Includes shopping cart functionality and discount notifications.
- Address Management: Users can add and manage their addresses.
- Purchase: Enables users to purchase products.
- Order History: Provides users with the ability to view their order history.
- Unit and UI tests are currently being written.
- [Foundation]
- Android KTX - It is used to make the application more readable and easier to use.
- AppCompat - It is a library that ensures Android applications are compatible with material design.
- [Architecture]
- Room - It is a library used to create and manage local databases.
- Lifecycles - It is used to facilitate lifecycle management of activities and fragments.
- LiveData - It is used to manage and monitor data flow.
- ViewModel - It is used for storing data and sharing data between UI components.
- [UI]
- [Testing]
- [Third Party]
- Glide - It is used for image loading and caching.
- Kotlin Coroutines - It is used for asynchronous operations.
- Dagger-Hilt - It is used to perform Dependency Injection.
- SharedPreferences - It is used to save small data.
- Barcode Scanner - It is used to scan barcodes.
- Material Components - It is used for designing modern UI components.
- Splash Screen - It is used to create splash screens.
- Location Services - It is used for location-related operations.
Make sure to have the following pre-requisites installed:
- Java 17
- Android Studio
- Android 7.0+ Phone or Emulation setup
Fork and clone this repository and import into Android Studio
git clone https://github.com/hasanalic/E-Commerce
Use one of the Android Studio builds to install and run the app in your device or a simulator.
Login Page | Home Page | Shopping Cart Page |
---|---|---|
Orders Page | Filter Page | Product Detail Page |
---|---|---|
You can access the figma design here.