Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ ShopAThing

A Modern, Scalable Android E-Commerce Application

Android Kotlin Jetpack Compose Firebase Auth License

Download APK

πŸ“± About The Project

ShopAThing is a feature-rich shopping application engineered with Clean Architecture and Modern Android Development (MAD) standards.

Unlike typical demo apps, ShopAThing focuses on scalability, performance, and user experience. It features a robust offline caching layer, server-side search optimization, and a fluid, animated UI that adapts to user preferences.

"Not just a demoβ€”a foundation for a real startup product."

✨ Why this stands out?

  • Performance First: Handles lists of 1000+ items seamlessly using Paging 3.
  • Smart Network Usage: Implements Debouncing to minimize API calls during search.
  • Offline Capable: The cart persists across app restarts using Room Database.
  • Reactive UI: Fully built with Jetpack Compose and Material 3.

πŸš€ Key Features

πŸ” Discovery & Navigation

  • Infinite Scrolling: Smooth pagination loads products effortlessly as you scroll.
  • Smart Search: Server-side search with 500ms debounce to reduce network load.
  • Dynamic Filtering: Filter products by category using reactive chips.
  • Shimmer Loading: Skeleton animations provide a polished loading experience.

πŸ›’ Shopping Experience

  • Persistent Cart: Add items, update quantities, or remove products. Data is saved locally via Room, so your cart is never lost.
  • Real-Time Badge: A dynamic notification badge on the cart icon updates instantly as you shop.
  • Seamless Checkout: Animated checkout flow using Lottie Animations for visual feedback.

🎨 User Experience (UX)

  • Dark Mode: A global, persistent Dark Theme toggle (saved via DataStore) that remembers your preference.
  • Visual Polish: Dynamic star rating bars, error handling, and empty state animations.
  • Share Functionality: Native Android share sheet integration to share product details.

πŸ› οΈ Tech Stack & Architecture

The app follows strict Clean Architecture (MVVM) principles to ensure separation of concerns and testability.

Layer Component Technology Used
🎨 UI Toolkit Jetpack Compose (Material 3)
Images Coil (Async Loading)
Animations Lottie & Shimmer
🧠 Logic Architecture MVVM + Clean Architecture
DI Dagger Hilt
Async Coroutines & Flows
πŸ’Ύ Data API Retrofit + OkHttp
Local DB Room (SQLite)
Prefs DataStore
☁️ Cloud Auth Firebase Authentication

πŸ“‚ Architecture Overview

com.fury.shopathing
β”œβ”€β”€ data                // Data Layer (API, Room DB, Repositories)
β”‚   β”œβ”€β”€ local           // Room Entities & DAOs
β”‚   β”œβ”€β”€ remote          // Retrofit Interfaces & DTOs
β”‚   └── repository      // Implementation of Domain Interfaces
β”œβ”€β”€ domain              // Domain Layer (Pure Kotlin)
β”‚   β”œβ”€β”€ model           // Data Classes (Product, CartItem)
β”‚   └── repository      // Interfaces
β”œβ”€β”€ di                  // Dependency Injection (Hilt Modules)
β”œβ”€β”€ presentation        // UI Layer (ViewModels, Composables)
β”‚   β”œβ”€β”€ components      // Reusable UI widgets
β”‚   β”œβ”€β”€ screens         // (Home, Detail, Cart, Auth)
β”‚   └── theme           // Material 3 Theme & Type
└── utils               // Constants & Helper Classes

πŸ“Έ Screenshots

Home Home (Dark Mode) Product Details
Search And Pagination Empty Cart Animation Order Placed Animation
Login Page Profile Cart

⚑ Setup & Installation

Download the App:

OR

  1. Clone the repository:

        git clone https://github.com/SilentFURY-x/ShopAThing-App.git
  2. Open in Android Studio:

    • Requires Android Studio Hedgehog or newer.
  3. Firebase Setup:

    • This project uses Firebase Auth.
    • Add your own google-services.json file to the /app directory.
  4. Build & Run:

    • Sync Gradle and run on an Emulator or Physical Device.

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project

  2. Create your Feature Branch:

    git checkout -b feature/AmazingFeature
  3. Commit your Changes:

    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch:

    git push origin feature/AmazingFeature
  5. Open a Pull Request


πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ‘¨β€πŸ’» Author

Arjun Tyagi

GitHub LinkedIn


Built with ❀️ using Kotlin and Jetpack Compose.

About

πŸ›οΈ A modern, scalable Android E-commerce application built with Jetpack Compose & Clean Architecture. Features offline-first cart (Room), Paging 3, Hilt DI, and server-side search optimization. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.