This Android application is built using Kotlin and Jetpack Compose. The app focuses on a clean and intuitive user interface, clean architecture, and efficient ui state handling.
- Product Browsing: Explore a catalog of products with clear images, descriptions, and pricing.
- Product Details: View comprehensive information about individual products, including ratings and reviews.
- Category Filtering: Browse products by category for easy navigation.
- Dark Mode Support: Switch between light and dark themes for personalized viewing.
- User Authentication: uses Firebase authentication using email and password.
- Kotlin: The primary programming language for Android development, known for its conciseness and safety.
- Jetpack Compose: A modern declarative UI toolkit for building native Android interfaces.
- Hilt: Dependency injection library for managing dependencies and improving code testability.
- Retrofit: Type-safe HTTP client for making network requests to the API.
- Coil: Image loading library for efficiently displaying images from URLs.
- Coroutines: Kotlin's concurrency framework for handling asynchronous operations like network calls.
- DataStore: Jetpack library for storing key-value data preferences, like theme settings.
- Navigation Component: Jetpack library for managing navigation between screens and handling deep links.
-
Clone the Repository:
-
Open in Android Studio: Import the project into Android Studio.
-
Build and Run: Build the project and run it on an Android emulator or a physical device.
-
ui
: Contains composable functions for building the user interface.screens
: Individual screen composables (e.g.,ProductListScreen
,ProductDetailScreen
,ProfileScreen
).components
: Reusable UI components (e.g.,ProductCard
,CategoryItem
).
-
data
: Handles data fetching, storage, and modeling.repository
: Repositories for interacting with data sources (e.g.,ProductRepository
).model
: Data classes representing the app's data models (e.g.,Product
,Category
).
-
di
: Dependency injection modules for providing dependencies using Hilt. -
util
: Utility classes and functions for common tasks.