Code Monkey home page Code Monkey logo

e-commerce's Introduction

πŸ›’ 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

e-commerce's People

Contributors

khurshiddev avatar oybekjon94 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

e-commerce's Issues

Search Screen

When you click on the Search section from the Home Screen, you should go to the Search Screen

image

Filter Screen

When you click the filter button, it should go to the filter screen

image

Product Screen

When we click on any item in the Category Screen, the list of products should be displayed in the Product Screen

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.