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

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.