/E-Commerce

This project is an example e-commerce mobile application developed following Clean Architecture principles and using the MVVM (Model-View-ViewModel) architecture.

Primary LanguageKotlin

E-Commerce App

This project is an example e-commerce mobile application developed following Clean Architecture principles and using the MVVM (Model-View-ViewModel) architecture.

Features

  • 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.

Notes

  • Unit and UI tests are currently being written.

Libraries

  • [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]
    • Fragment - It is used as a reusable UI component.
    • Layout - Widgets are used to design the user interface.
  • [Testing]
    • JUnit - It is used for unit testing.
    • Mockito - It is used for mocking objects in tests.
    • Espresso - It is used for UI testing.
  • [Third Party]

Setup

Make sure to have the following pre-requisites installed:

  1. Java 17
  2. Android Studio
  3. 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.

Screenshots

Login Page Home Page Shopping Cart Page
Orders Page Filter Page Product Detail Page

Designs

You can access the figma design here.

design