Skip to content

onurbarman/EnUygunCase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EnUygunCase - Android E-commerce App

A modern Android e-commerce application built with Jetpack Compose, following Clean Architecture principles and MVVM pattern. This app demonstrates best practices for Android development with a focus on user experience and maintainable code.

πŸš€ Features

  • Product Browsing: Browse products with filtering and sorting capabilities
  • Product Details: Detailed product information with image slider
  • Shopping Cart: Add/remove products and manage cart
  • Favorites: Save and manage favorite products
  • Search: Search products by name or description
  • Order Management: View and manage order history
  • Checkout Process: Complete purchase flow

πŸ›  Technologies & Libraries

Core Technologies

  • Kotlin (2.2.0) - Primary programming language
  • Jetpack Compose (2025.07.00) - Modern UI toolkit
  • Android SDK - Target SDK 36, Min SDK 24

Architecture & Design Patterns

  • Clean Architecture - Separation of concerns with layered architecture
  • MVVM Pattern - Model-View-ViewModel for UI logic
  • Repository Pattern - Data access abstraction

Dependency Injection

  • Hilt (2.57) - Dependency injection framework
  • Hilt Navigation Compose (1.2.0) - Navigation integration

Networking

  • Retrofit (3.0.0) - HTTP client for API calls
  • OkHttp (5.1.0) - HTTP client with logging interceptor
  • Gson (2.13.1) - JSON serialization/deserialization

Database

  • Room (2.7.2) - Local database with Kotlin coroutines support
  • Room KTX - Kotlin extensions for Room

UI & Navigation

  • Material 3 - Modern Material Design components
  • Navigation Compose (2.9.3) - Navigation between screens
  • Coil (3.3.0) - Image loading library

Testing

  • JUnit 4 (4.13.2) - Unit testing framework
  • MockK (1.14.5) - Mocking library for Kotlin
  • Turbine (1.2.1) - Flow testing library
  • Coroutines Test (1.10.2) - Testing utilities for coroutines

Build Tools

  • Gradle - Build system
  • KSP (2.2.0-2.0.2) - Kotlin Symbol Processing
  • Android Gradle Plugin (8.11.1)

πŸ“± Screenshots

Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170223 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170207 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170152 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170133 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170100 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170044 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 170003 Ekran gΓΆrΓΌntΓΌsΓΌ 2025-08-05 165931

πŸ— Project Structure

app/src/main/java/com/onurbarman/enuyguncase/
β”œβ”€β”€ core/
β”‚   └── util/                    # Utility classes and extensions
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ datasource/
β”‚   β”‚   β”œβ”€β”€ local/              # Room database and entities
β”‚   β”‚   └── remote/             # API service and network layer
β”‚   β”œβ”€β”€ di/                     # Dependency injection modules
β”‚   β”œβ”€β”€ model/                  # Data models and mappers
β”‚   β”œβ”€β”€ network/                # Network utilities and interceptors
β”‚   └── repository/             # Repository implementations
β”œβ”€β”€ domain/
β”‚   β”œβ”€β”€ repository/             # Repository interfaces
β”‚   └── usecase/                # Business logic use cases
β”œβ”€β”€ presentation/
β”‚   β”œβ”€β”€ cart/                   # Shopping cart screens
β”‚   β”œβ”€β”€ checkout/               # Checkout flow
β”‚   β”œβ”€β”€ detail/                 # Product detail screens
β”‚   β”œβ”€β”€ favorites/              # Favorites management
β”‚   β”œβ”€β”€ home/                   # Main home screen
β”‚   └── orders/                 # Order history
└── ui/
    β”œβ”€β”€ navigation/             # Navigation components
    └── theme/                  # App theming and styling

πŸ‘¨β€πŸ’» Author

Onur Barman

πŸ™ Acknowledgments


⭐ If you find this project helpful, please give it a star!

About

First Initialization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages