A modern iOS shopping application built with Swift and UIKit that provides a seamless e-commerce experience for browsing and purchasing fashion items.
- User Authentication: Login, registration, and password recovery
- Product Browsing: Browse products by categories (Electronics, Jewelry, Men's/Women's clothing)
- Product Details: Detailed product information with images, ratings, and descriptions
- Shopping Cart: Add/remove items, quantity management
- Categories: Filter products by different categories
- User Profile: Manage user account and preferences
The app follows the MVC (Model-View-Controller) architecture pattern:
ProductModel: Product data structure (id, title, price, image, rating, category, description)CategoryModel: Category data structureUserModel: User authentication and profile data
- Storyboard-based UI with custom XIB files
- Custom collection view cells for products and categories
- Custom table view cells for cart and categorized items
- Custom UI components (CustomUIStepper)
- Scene-based view controllers for different app sections:
- Home: Main product browsing interface
- Login/Auth: User authentication flows
- Cart: Shopping cart management
- Profile: User profile and settings
- Product Detail: Individual product information
- Categorized: Category-specific product listings
Shopping-eCommerce/
βββ Controller/ # View Controllers
β βββ tabBarViewController.swift
β βββ ViewController.swift
β βββ Scenes/
β βββ Cart/ # Shopping cart functionality
β βββ Categorized/ # Category-based browsing
β βββ Home/ # Main app interface
β βββ Login/ # Authentication flows
β βββ ProductDetail/ # Product information
β βββ Profile/ # User profile
βββ Core/ # App configuration and assets
β βββ AppDelegate.swift
β βββ SceneDelegate.swift
β βββ Info.plist
β βββ Assets.xcassets/ # Image assets and app icons
βββ Helper/ # Utility classes
β βββ Constants.swift # App constants and URLs
β βββ DuplicateFuncs.swift # Shared utility functions
βββ Model/ # Data models
β βββ Category/ # Category-related models
β βββ Product/ # Product-related models
β βββ User/ # User-related models
βββ View/ # UI components
βββ Base.lproj/ # Storyboards
βββ Custom Views/ # Custom UI components
- Language: Swift
- UI Framework: UIKit
- Networking: Alamofire
- Image Loading: SDWebImage
- Architecture: MVC
- Interface: Storyboards + XIB files
- Data Source: Fake Store API (https://fakestoreapi.com)
The app integrates with the Fake Store API:
- Base URL:
https://fakestoreapi.com/products - Categories:
https://fakestoreapi.com/products/categories - Category Products:
https://fakestoreapi.com/products/category
- iOS 13.0+
- Xcode 11.0+
- Swift 5.0+
- Clone the repository
- Open
Shopping-eCommerce.xcodeprojin Xcode - Install dependencies (Alamofire, SDWebImage)
- Build and run the project
The app supports four main product categories:
- π Men's Clothing
- π Women's Clothing
- π Jewelry
- π± Electronics
- Custom collection view layouts for products and categories
- Responsive table views for cart and product listings
- Custom stepper control for quantity selection
- Image assets for categories and branding
- Alamofire: Network requests and API communication
- SDWebImage: Efficient image loading and caching
This project is structured for easy maintenance and feature expansion. The modular architecture allows for:
- Easy addition of new product categories
- Scalable user authentication system
- Flexible UI component reuse
- Clean separation of concerns
Built with β€οΈ using Swift and UIKit


