- User Authentication - Secure login and registration system
- Product Catalog - Browse products with categories, colors, and sizes
- Shopping Cart - Add/remove items with real-time updates
- Payment Processing - Secure payment gateway integration
- Order Management - Track orders and view invoices
- User Profile - Manage personal information and preferences
- Modern UI/UX - Built with Material Design 3 principles
- Responsive Design - Optimized for all screen sizes
- Smooth Navigation - Intuitive app flow with bottom navigation
- Dark/Light Theme - Adaptive theming system
- Edge-to-Edge Design - Immersive full-screen experience
- MVVM Architecture - Clean separation of concerns
- Dependency Injection - Hilt for efficient dependency management
- Local Database - Room database for offline data persistence
- API Integration - Retrofit for seamless backend communication
- Image Loading - Glide for efficient image management
- Navigation - Jetpack Navigation Compose for smooth transitions
| Category | Technology | Version |
|---|---|---|
| Language | Kotlin | 2.2.0 |
| UI Framework | Jetpack Compose | 2025.07.00 |
| Architecture | MVVM + Repository Pattern | - |
| Dependency Injection | Hilt (Dagger) | 2.57 |
| Database | Room | 2.7.2 |
| Networking | Retrofit + GSON | 3.0.0 |
| Image Loading | Glide (Landscapist) | 2.5.1 |
| Navigation | Navigation Compose | 2.9.2 |
| Minimum SDK | Android 5.0 (API 21) | - |
| Target SDK | Android 14 (API 36) | - |
app/
βββ π api/ # API interfaces and network layer
βββ π config/ # Application configuration
βββ π db/ # Room database and DAOs
βββ π models/ # Data models and entities
βββ π modules/ # Hilt modules for DI
βββ π repositories/ # Data repositories
βββ π ui/ # UI components and screens
β βββ components/ # Reusable UI components
β βββ screens/ # App screens
β βββ theme/ # App theming
βββ π utils/ # Utility classes
βββ π viewmodels/ # ViewModels for UI logic
- Android Studio Hedgehog (2023.1.1) or later
- Android SDK 36 (Android 14)
- Minimum SDK: API 21 (Android 5.0)
- Java 17 or later
-
Clone the repository
git clone https://github.com/mahdizaredev/OnlineShopApplication.git cd OnlineShopApplication -
Open in Android Studio
- Launch Android Studio
- Open the project folder
- Wait for Gradle sync to complete
-
Build and Run
- Connect an Android device or start an emulator
- Click the "Run" button or press
Shift + F10 - Select your target device and wait for the app to install
- Debug - Development build with debugging enabled
- Release - Production build with ProGuard optimization
The app is configured to work with the online shop backend at onlineshopholosen.ir. Make sure you have:
- Internet connectivity
- Valid API endpoints configured
- Proper authentication credentials
- Modify
app/src/main/res/values/for app branding - Update
app/src/main/java/com/mahdizaredev/onlineshop/config/for API configuration - Customize themes in
app/src/main/java/com/mahdizaredev/onlineshop/ui/theme/
- Multi-ABI Support - Optimized for x86, x86_64, ARM, and ARM64
- Universal APK - Single APK for all architectures
- ProGuard Optimization - Code shrinking and obfuscation
- Resource Optimization - Efficient resource management
- Memory Management - Optimized image loading and caching
The project includes comprehensive testing setup:
- Unit Tests - JUnit 4 for business logic
- UI Tests - Espresso for UI automation
- Compose Tests - Compose testing framework
- Instrumentation Tests - Android device testing
Run tests with:
# Unit tests
./gradlew test
# Instrumented tests
./gradlew connectedAndroidTestWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Kotlin coding conventions
- Use meaningful commit messages
- Add tests for new functionality
- Update documentation as needed
- Follow Material Design principles
This project is licensed under the MIT License - see the LICENSE file for details.
Mahdi Zare - Lead Android Developer
β Star this repository if you found it helpful!
Made with β€οΈ by Mahdi Zare