Altaf Pet Shop App
Local Shop - Android E-Commerce Application
A modern, feature-rich Android e-commerce application built with Kotlin and Jetpack Compose, following clean architecture principles and MVVM pattern.
Features
User Authentication
- User registration with email, phone, and password
- Secure login with JWT token-based authentication
- Password reset functionality (forgot/reset password)
- Session management with persistent login state
- Secure token storage using DataStore
Product Catalog
- Browse products with categories
- Advanced product filtering (price range, category, search)
- Multiple sorting options (price, name, newest)
- Featured and latest products sections
- Detailed product view with related products
- High-quality image loading with Coil
Shopping Cart
- Add products to cart with quantity management
- Real-time cart updates
- Remove items from cart
- Clear cart functionality
- Cart persistence
Wishlist
- Add/remove products to wishlist
- Wishlist management
- Quick access to favorite items
Order Management
- Create orders with multiple items
- View order history
- Detailed order tracking
- Order cancellation
- Delivery confirmation
- Checkout process with multiple addresses
Address Management
- Add multiple delivery addresses
- Edit and delete addresses
- Set default address
- Address selection during checkout
User Profile
- View and edit user profile
- Update user information
- Change password
- Profile management
Search
- Real-time product search
- Search history
- Filtered search results
Settings
- Dark/Light theme toggle
- App preferences
- Settings management
Architecture
The app follows **Clean Architecture** principles with clear separation of concerns:
├── core/ # Core utilities and shared components
│ ├── auth/ # Authentication & session management
│ ├── common/ # Common utilities & constants
│ ├── database/ # Room database setup
│ ├── datastore/ # DataStore for preferences
│ ├── designsystem/ # UI components, themes, colors
│ ├── di/ # Dependency Injection (Hilt)
│ ├── error/ # Error handling
│ ├── location/ # Location services
│ ├── navigation/ # Navigation graph
│ ├── network/ # Network layer, interceptors
│ ├── preferences/ # Theme & app preferences
│ ├── result/ # Result wrapper for API responses
│ └── util/ # Utility functions
│
└── feature/ # Feature modules
├── address/ # Address management
├── auth/ # Authentication screens
├── cart/ # Shopping cart
├── category/ # Category browsing
├── checkout/ # Checkout process
├── home/ # Home screen with banners
├── orders/ # Order management
├── product/ # Product listing & details
├── profile/ # User profile
├── search/ # Product search
├── settings/ # App settings
└── wishlist/ # Wishlist management
App Screens
1. **Splash Screen** - App initialization
2. **Login/Register** - User authentication
3. **Home** - Featured products, banners, latest products
4. **Products** - Product listing with filters
5. **Product Details** - Detailed product view
6. **Categories** - Category browsing
7. **Search** - Product search
8. **Cart** - Shopping cart management
9. **Wishlist** - Saved products
10. **Checkout** - Order placement
11. **Address Management** - Delivery addresses
12. **Order History** - Past orders
13. **Order Details** - Detailed order information
14. **Profile** - User profile
15. **Settings** - App preferences
Future Enhancements
- Payment gateway integration
- Push notifications for order updates
- Product reviews and ratings
- Order tracking with map view
- Social login (Google, Facebook)
- Multi-language support
- Product comparison feature
- Discount coupons and offers
- Advanced analytics integration