Skip to content

ahmedkhalifa14/ShopApp

Repository files navigation

GOSHOP

ShopApp android application

ScreenShots

Tools And Techniques

Kotlin As programming language

Model-View-ViewModel(MVVM) Architecture Pattern,MVVM means a way to structure code. With MVVM, it is possible to keep the UI components of an application away from the business logic.

Repository Pattern The repository pattern is a design pattern that isolates the data layer from the rest of the app

Navigation Component Android Jetpack's Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.

Retrofit A type-safe HTTP client for Android and Java

Kotlin Coroutines A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.

Flows In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value. For example, you can use a flow to receive live updates from a database.

Fused Location Provider The fused location provider is a location API in Google Play services that intelligently combines different signals to provide the location information that your app needs.

Geocoder A class for handling geocoding and reverse geocoding.

Easy Permissions EasyPermissions is a wrapper library to simplify basic system permissions logic when targeting Android M or higher.

StateFlow StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors. The current state value can also be read through its value property. To update state and send it to the flow, assign a new value to the value property of the MutableStateFlow class.

LiveData LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state.

DataStore Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.

Hilt Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project. Doing manual dependency injection requires you to construct every class and its dependencies by hand, and to use containers to reuse and manage dependencies.

Glide Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.

SpinKit Android loading animations

Timber This is a logger with a small, extensible API which provides utility on top of Android's normal Log class.

Releases

No releases published

Packages

No packages published

Languages