An iOS e-commerce solution built with love for small artisans and handmade vendors. This app was designed to provide a seamless shopping and selling experience, integrating secure payments, modern architecture, and elegant user experience.
Handmade Marketplace is a fully functional mobile app that allows users to:
- Explore handmade products from multiple vendors.
- Sign up and log in using social platforms (Facebook, Google, Apple).
- Purchase products securely using Stripe.
- Leave reviews and ratings on purchased products.
- Browse user-friendly interfaces built with UIKit.
We implemented the Model-View-ViewModel (MVVM) design pattern to ensure:
- Clean separation of concerns.
- Easier testability and maintainability.
- Reactive UI updates via Combine.
Additional design patterns used:
- Factory – For object creation (products, users, reviews).
- Coordinator – For handling navigation flow.
- Singleton – For shared managers.
We leveraged powerful Swift libraries and Apple frameworks to deliver a production-ready experience:
- Alamofire – Networking layer for REST APIs.
- Firebase – Authentication, Firestore, and hosting backend services.
- Stripe iOS SDK – Secure payments with Apple Pay support.
- Cosmos – Star rating control for reviews.
- Kingfisher – Downloading & caching images.
- Lottie – Animated vector illustrations for engaging UI.
- Loading Buttons – Custom styled loading buttons.
- SkeletonView – Placeholder skeletons for loading states.
- ViewAnimator – One-line view animations for smooth UX.
- SwiftyJSON – Easy JSON parsing.
- SDWebImage – Image caching & loading.
- Realm – Local database for offline-first experience.
- SwiftGen – Code generation for assets & strings.
- SwiftLint – Linting to enforce Swift style guidelines.
- Combine – Reactive programming for UI binding.
- Async/Await – Modern concurrency and background task handling.
- Core ML – For intelligent recommendations and classifiers (future features).
Stripe’s EmbeddedPaymentElement API is used for a secure and customizable checkout:
- Supports multiple vendors.
- Apple Pay ready.
- Secure client secret flow via backend.
- Seamless checkout experience.
Using UIKit allowed us to build:
- Responsive layouts with Auto Layout.
- Reusable custom components like
CardViewCell. - A smooth, animated checkout flow.
- Localization support for multiple languages.
We use Firebase Authentication to simplify sign-in:
- Google Sign-In
- Facebook Login
- Apple Sign-In
Firebase handles token validation, user identity, and security. The sign-in status syncs with Firestore user data.
We used Alamofire to manage all HTTP networking:
- Easy to send authenticated requests.
- Upload and download product images.
- Fetch product listings, vendor data, reviews.
Users can:
- Browse curated product categories.
- See detailed product views with images, prices, and highlights.
- Add reviews with star ratings and comments.
- View other customers’ feedback.
All reviews are stored in Firestore and linked by productId.
- For a preview of the app's design, visit the Figma Design Link: https://www.figma.com/design/jhw6bgjqjuRgZ2jcL0tGv8/Handmade?node-id=0-1&p=f&t=ZRGdXRbsKOym4wcX-0
We focused on simplicity, delight, and trust.
This project blends solid architecture (MVVM), modern UI with UIKit, and powerful integrations like Stripe and Firebase to deliver a feature-rich, scalable handmade marketplace app.
✨ We believe small makers deserve big tech. ✨