NextAGE-Shopify is a shopping app developed using Swift with UIKit and the MVVM design pattern. This app provides a seamless shopping experience, including categories, brands, orders, payment options, and much more.
- Provide a seamless shopping experience for users.
- Enable product search and filtering.
- Implement a secure and functional shopping cart.
- Offer integration with payment gateways and multiple currencies.
- Include user authentication for personalized shopping features (e.g., wishlist, order history).
- Product Browsing: Grid view of products with filtering options (price, category, popularity).
- Shopping Cart: Add, remove, and update product quantities in the cart.
- Product Details: Detailed views with images, sizes, ratings, and descriptions.
- User Authentication: Login/register to access the wishlist, order tracking, and settings.
- Checkout Process: Multiple payment options and address management.
1. Angel Saad
- Modules:
- OnBoarding
- MainTabBar
- Home Design
- Brands
- Categories
- Orders
- Me
- Modules:
- Shopping Cart
- Coupons (Discount Codes)
- Payment
- Addressess
- Currency
- Settings
- Wishlist Manager
- Modules:
- Product Info
- Search
- Favorites
- Authentication
- We use Trello to manage tasks, track progress, and assign modules:
Trello Board
- You can find the project repository on GitHub:
NextAGE-Shopify GitHub Repo
- The app follows the MVVM (Model-View-ViewModel) design pattern for a scalable, testable architecture.
- Xcode: For app development.
- Postman: For testing API endpoints.
- Figma: For UI/UX design.
- Alamofire - Networking.
- SwiftMessages - In-app notification banners.
- Firebase/Auth - For user authentication.
- GoogleSignIn - Google Sign-In integration.
- Kingfisher - For image caching and downloading.
- lottie-ios - For animations.
- CurrencyData - Through APILayer for real-time currency conversion.
- Combine - For handling asynchronous events and data streams.
- PassKit - For implementing Apple Pay.
- UserDefaults - For storing user settings like currency preferences.
- UIKit - For building the app’s UI components.
- Constraints - For dynamic and responsive layout management.
- Nib files and Storyboards - For defining and managing UI layouts.
- Unit Testing - To ensure functionality and performance.