Android Native Java XML

E-Commerce App for Android

About this project

E-Commerce App is a complete Android shopping app built with Java and Kotlin. Users can browse categories and featured offers, search products with suggestions, view product details, add items to a cart saved on the device, place orders, and check their order history. It supports email signup and login, plus Google and Facebook sign-in. The app talks to a custom REST API backend, caches categories, products, and offers locally for faster loading, and follows an MVVM architecture with Hilt dependency injection and Room.

Objectives

Build a complete mobile shopping experience, from browsing to order tracking, with a clean architecture that can be reused for other online stores.

Key Features

  • Home screen with image slider, categories, and product listings
  • Product search with suggestions and recent search history
  • Products by category and product detail screens
  • Cart saved locally with quantity updates and totals
  • Checkout with buyer details, shipping, and order submission
  • Order success screen, order history, and order details
  • Email signup and login, plus Google and Facebook login
  • Local caching of categories, products, and offers
  • Bottom navigation (Home, Cart, Orders, Profile) and Lottie animations for empty states

Challenges & Solutions

  • Fast loading and weak internet: Categories, products, and offers are cached in Room, so cached data shows first and then refreshes from the server.
  • Cart that survives restarts: The cart is stored in Room with LiveData totals, so items and totals update instantly on screen.
  • One pipeline for many product lists: A single load type (all, category, or search) feeds the same product flow, which keeps the code simple and reusable.

Technologies & Frameworks

Android SDKHiltRoomVolleyGlideLottieGoogle Sign-InFacebook Login

Integrations & APIs

REST API (Volley), Google Sign-In, Facebook Login, Glide, Lottie

Architecture & Libraries

MVVM with ViewModels (HomeViewModel, CartViewModel, OrderViewModel), a Repository and Remote Data Source layer, Hilt for dependency injection, LiveData, Gson for JSON parsing, and Glide for images

Backend & Database

  • Custom REST API for login, products, categories, search, and orders
  • Room database for the cart, user data, orders, and cached API responses

Outcomes & Results

  • Complete shopping flow from browsing to order history
  • Clean, layered architecture ready to extend
  • Multiple login options (email, Google, Facebook)

Need something similar?

Farhan Saeed · Available for new projects