Skip to content

Latest commit

 

History

History
183 lines (176 loc) · 7.07 KB

README.md

File metadata and controls

183 lines (176 loc) · 7.07 KB

🛒 e-commerce 🛍

😉 This application is not completed yet. Currently, I am working on it.

✨ Features

Built With🛠

  • Kotlin - Most widely used programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that
  • Retrofit - A type-safe HTTP client for Android and Java.
  • GSON - Gson is also widely used in Kotlin and Java development for JSON serialization and deserialization.
  • GSON Converter - A Converter which uses Gson for serialization to and from JSON.
  • OkHttp3 - For implementing interceptor, logging and mocking web server.
  • Glide - An image loading and caching library for Android focused on smooth scrolling.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Dependency injection - Dependency injection (DI) is a technique widely used in programming and well suited to Android development.
    • Reusability of code
    • Ease of refactoring
    • Ease of testing

Other Concepts included

  • RecyclerView
  • CardView
  • ImageSlider
  • Fragments
  • Passing data between activities, fragments
  • SearchView
  • SwipeRefresh
  • Navigation ...

📸 Screenshots

Onboarding Sign in & Sign up
image image
Home Search
Screenshot_3 Screenshot_4
Filter Detail
Screenshot_5 Screenshot_6
Wishlist Cart
Screenshot_7 Screenshot_1

Package Structure

|
├── app
|    └── App
|
├── common
|    └── Constants
|
├── data
|    ├──  api
|    |    ├── auth
|    |    |     ├── dto
|    |    |     |    ├── AuthResponse
|    |    |     |    ├── SignInRequest
|    |    |     |    ├── SignUpRequest
|    |    |     |    └── UserDto
|    |    |     └── AuthApi
|    |    |
|    |    └── product
|    |          ├── dto
|    |          |    ├── Banner
|    |          |    ├── Category
|    |          |    ├── Detail
|    |          |    ├── HomeResponse
|    |          |    ├── Product
|    |          |    ├── Section
|    |          |    └── SectionType
|    |          |    
|    |          ├── paging
|    |          |    └── ProductPagingSource
|    |          └── ProductApi
|    |
|    ├── repo
|    |    ├── AuthRepositoryImpl
|    |    └── ProductRepositoryImpl
|    |
|    └── store
|         ├── BaseStore
|         ├── OnboardedStore
|         ├── RecentsStore
|         ├── TokenStore
|         └── UserStore
|
├── di
|    ├── ApiModule
|    ├── DataModule
|    ├── NetworkModule
|    └── RepositoryModule
|
├── domain
|    ├── model
|    |    ├── Destination
|    |    ├── ProductQuery
|    |    └── User
|    └── repo
|         ├── AuthRepository
|         └── ProductRepository
|
├── presentation
|    ├── categories
|    |    ├── CategoriesAdapter
|    |    ├── CategoriesFragment
|    |    └── CategoriesViewModel
|    |
|    ├── detail
|    |    ├── DetailFragment
|    |    ├── DetailViewModel
|    |    ├── ImageAdapter
|    |    └── RelatedAdapter
|    |
|    ├── filter
|    |    ├── FilterFragment
|    |    └── FilterViewModel
|    |
|    ├── home
|    |    ├── adapter
|    |    |    ├── BannerAdapter
|    |    |    ├── HomeCategoryAdapter
|    |    |    ├── HorizontalAdapter
|    |    |    ├── SectionAdapter
|    |    |    └── VerticalAdapter
|    |    ├── HomeFragment
|    |    └── HomeViewModel
|    |
|    ├── main
|    |    ├── MainActivity
|    |    └── MainViewModel
|    |
|    ├── onboarding
|    |    ├── OnBoardingAdapter
|    |    ├── OnBoardingViewModel
|    |    └── OnboardingFragment
|    |
|    ├── orders
|    |    ├── OrdersFragment
|    |    ├── ..
|    |  
|    ├── products
|    |    ├── ProductViewHolder
|    |    ├── ProductViewModel
|    |    ├── ProductsAdapter
|    |    └── ProductsFragment
|    |
|    ├── profile
|    |    ├── ProfileFragment
|    |    ├── ..
|    |
|    ├── search
|    |    ├── adapter
|    |    |    ├── RecentAdapter
|    |    |    ├── RecentAdapter
|    |    |    └── SearchProductsAdapter
|    |    ├── SearchFragment
|    |    └── SearchViewModel
|    |
|    ├── sign_in
|    |    ├── SignInFragment
|    |    └── SignInViewModel
|    |
|    ├── sign_up
|    |    ├── SignUpFragment
|    |    └── SignUpViewModel
|    └── wishlist
|         ├── WishlistFragment
|         └── WishlistViewModel
|   
└── utils
     ├── BaseFragment
     ├── Functions
     ├── HorizontalMarginItemDecoration
     └── SingleLiveEvent

👨‍🔧 Architecture

This app uses MVVM (Model View View-Model) architecture.

image