Skip to content

Seme30/S-Ecom

Repository files navigation

S-Ecom Android App

Overview

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.

Features

  • 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.

Technologies & Libraries

  • 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.

How to Run the Code

  1. Clone the Repository:

  2. Open in Android Studio: Import the project into Android Studio.

  3. Build and Run: Build the project and run it on an Android emulator or a physical device.

Project Structure

  • 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.

Screenshots

Screenshot 4 Screenshot 3 Screenshot 2 Screenshot 1 screenshot 5

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages