{"id":14460147,"url":"https://github.com/hasanalic/E-Commerce","last_synced_at":"2025-08-28T18:31:52.516Z","repository":{"id":253412255,"uuid":"832263797","full_name":"hasanalic/E-Commerce","owner":"hasanalic","description":"This project is an example e-commerce mobile application developed following Clean Architecture principles and using the MVVM (Model-View-ViewModel) architecture.","archived":false,"fork":false,"pushed_at":"2024-10-31T12:12:11.000Z","size":4161,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-31T13:22:48.269Z","etag":null,"topics":["android","coroutines","ecommerce","kotlin","mvvm","notifications","room"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasanalic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T16:49:17.000Z","updated_at":"2024-10-31T12:12:15.000Z","dependencies_parsed_at":"2024-08-19T15:27:58.705Z","dependency_job_id":"7513ae41-fe26-430c-a2b7-895da8de130e","html_url":"https://github.com/hasanalic/E-Commerce","commit_stats":null,"previous_names":["hasanalic/e-commerce"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanalic%2FE-Commerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanalic%2FE-Commerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanalic%2FE-Commerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanalic%2FE-Commerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasanalic","download_url":"https://codeload.github.com/hasanalic/E-Commerce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231294144,"owners_count":18354140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","coroutines","ecommerce","kotlin","mvvm","notifications","room"],"created_at":"2024-09-01T21:01:05.839Z","updated_at":"2024-12-25T23:30:26.032Z","avatar_url":"https://github.com/hasanalic.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# E-Commerce App\n\nThis project is an example e-commerce mobile application developed following Clean Architecture principles and using the MVVM (Model-View-ViewModel) architecture.\n\n## Features\n* **Architecture**: Developed according to Clean Architecture principles and the MVVM (Model-View-ViewModel) architecture.\n* **User Management**: Supports user login and registration features.\n* **Product Management**: Allows users to add products to the cart and to favorites.\n* **Search and Filtering**: Users can search for products using barcodes and filter products based on various criteria.\n* **Cart and Discounts**: Includes shopping cart functionality and discount notifications.\n* **Address Management**: Users can add and manage their addresses.\n* **Purchase**: Enables users to purchase products.\n* **Order History**: Provides users with the ability to view their order history.\n\n## Notes\n* Unit and UI tests are currently being written.\n\n## Libraries\n* [Foundation]\n  * [Android KTX](https://developer.android.com/kotlin/ktx) - It is used to make the application more readable and easier to use.\n  * [AppCompat](https://developer.android.com/jetpack/androidx/releases/appcompat) - It is a library that ensures Android applications are compatible with material design.\n* [Architecture]\n  * [Room](https://developer.android.com/jetpack/androidx/releases/room) - It is a library used to create and manage local databases.\n  * [Lifecycles](https://developer.android.com/topic/libraries/architecture/lifecycle) - It is used to facilitate lifecycle management of activities and fragments.\n  * [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - It is used to manage and monitor data flow.\n  * [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - It is used for storing data and sharing data between UI components.\n* [UI]\n  * [Fragment](https://developer.android.com/guide/fragments) - It is used as a reusable UI component.\n  * [Layout](https://developer.android.com/develop/ui/views/layout/declaring-layout) - Widgets are used to design the user interface.\n* [Testing]\n  * [JUnit](https://junit.org/junit4/javadoc/latest/) - It is used for unit testing.\n  * [Mockito](https://site.mockito.org/) - It is used for mocking objects in tests.\n  * [Espresso](https://developer.android.com/training/testing/espresso) - It is used for UI testing.\n* [Third Party]\n  * [Glide](https://github.com/bumptech/glide) - It is used for image loading and caching.\n  * [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) - It is used for asynchronous operations.\n  * [Dagger-Hilt](https://developer.android.com/training/dependency-injection/hilt-android) - It is used to perform Dependency Injection.\n  * [SharedPreferences](https://developer.android.com/reference/android/content/SharedPreferences) - It is used to save small data.\n  * [Barcode Scanner](https://github.com/yuriy-budiyev/code-scanner) - It is used to scan barcodes.\n  * [Material Components](https://material.io/develop/android) - It is used for designing modern UI components.\n  * [Splash Screen](https://developer.android.com/guide/topics/ui/splash-screen) - It is used to create splash screens.\n  * [Location Services](https://developers.google.com/android/guides/location) - It is used for location-related operations.\n\n\n## Setup\nMake sure to have the following pre-requisites installed:\n1. Java 17\n2. Android Studio\n3. Android 7.0+ Phone or Emulation setup\n\nFork and clone this repository and import into Android Studio\n```bash\ngit clone https://github.com/hasanalic/E-Commerce\n```\n\nUse one of the Android Studio builds to install and run the app in your device or a simulator.\n\n\n## Screenshots\n| Login Page | Home Page | Shopping Cart Page |\n|-------------------|-------------------|-------------------|\n| \u003cimg src=\"https://github.com/user-attachments/assets/9e2e35c7-f8c3-486a-bbec-95ed5499a59c\" width=250\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/206a1341-2a48-44b0-a872-d0039207fc6a\" width=250\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/d580e2c7-5b7a-46ac-9fb7-629c3a2290a3\" width=250\u003e |\n\n| Orders Page | Filter Page | Product Detail Page |\n|-------------------|-------------------|-------------------|\n| \u003cimg src=\"https://github.com/user-attachments/assets/158bb6b7-925a-48ed-9cf3-ae4e84f08943\" width=250\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/ede1b010-3a25-4905-a012-4ffdbb1d6a69\" width=250\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/085e2558-1232-40eb-aeca-49aaf7a5e6e7\" width=250\u003e |\n\n## Designs\nYou can access the figma design [here](https://www.figma.com/design/EnAJztl6dgFd6U8piN9EjZ/E-Commerce).\n\n![design](https://github.com/user-attachments/assets/0222f236-0f63-45b1-bb75-10eff5f0d975)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanalic%2FE-Commerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasanalic%2FE-Commerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanalic%2FE-Commerce/lists"}