Skip to content

The open-source project implements the new Carousel with Material 3 using Jetpack Compose and provides two examples: HorizontalUncontainedCarousel and HorizontalMultiBrowseCarousel.

License

Notifications You must be signed in to change notification settings

NicosNicolaou16/Carousel_Compose

Repository files navigation

Carousel Compose

The open-source project implements the new Carousel with Material 3 using Jetpack Compose and provides two examples: HorizontalUncontainedCarousel and HorizontalMultiBrowseCarousel.

Important

Check my article 👉 Carousel Jetpack Compose with Material 3 - Medium 👈

Examples

The Project Contain the following technologies

Carousel Material 3 Jetpack Compose refers to a horizontally scrollable list that allows users to swipe through content such as images or cards. It is part of the Material Design system and integrates well with Compose’s declarative UI approach.
The programming language is the Kotlin, it is a modern, JVM-based programming language that is concise, safe, and interoperable with Java.
Kotlin Coroutines is used for asynchronous tasks.
Kotlin KTX is a collection of Kotlin extensions that offer more concise and expressive code for working with Android APIs and libraries. The UI is build using Jetpack Compose.
Retrofit is responsible for making requests and retrieving data from the remote server. (Repository)
Room Database is responsible for saving the retrieved data from the remote server, querying data from the local database, and supporting offline functionality.
KSP ("Kotlin Symbol Processing") is a tool for efficient annotation processing in Kotlin, providing faster code generation and symbol manipulation compared to KAPT. Repository
Coil for Jetpack Compose is a library that it is responsible for loading the images asynchronous. (Coil Documentation, Repository)
Hilt Dependencies Injection is an Android library that simplifies dependency injection by using annotations to automatically manage and provide dependencies across components, built on top of Dagger. (Documentation)
MVVM with repository is an architecture where the Repository manages data sources (e.g., network, database), the ViewModel processes the data for the UI, and the View displays the UI, ensuring a clear separation of concerns.
For Navigation between screens is use the New Navigation Type Safety.
UI State to initial, loading, loaded and error.

Versioning

Target SDK version: 35
Minimum SDK version: 28
Kotlin version: 2.1.0
Gradle version: 8.7.3

Feeds/Urls/End Point (parsing some data from the response)

(Links References for Ends Points)

https://pokeapi.co/
https://github.com/PokeAPI/sprites (GitHub)

References

https://developer.android.com/reference/kotlin/androidx/compose/material3/carousel/package-summary