In this test, you will be need to create a payment type selection interface using SwiftUI.
- macOS Monterey 12.0 or later
- Xcode 13.2 or later
- Swift 5.0 or later
- iOS Simulator/Device 15.2 or later
This challenge is to create a payment type selection interface using SwiftUI. It should:
- ⏱️ 60-second countdown timer
- 💳 Payment method selection
- 🔍 Search functionality for payment types
- ♻️ Pull-to-refresh payment list
- ✅ Selection state management
- 🎯 Modal presentation
- ✨ Success view after completion
-
Payment Type Selection Interface
- Interactive payment method selection
- Visual feedback for selected payment types
- Smooth animations and transitions
-
Data Management
- Implementation of PaymentTypesRepository
- Efficient state management
- Type-safe data handling
open SwiftUIChallenge.xcodeproj
- Open the project in Xcode
- Select your target device (iOS Simulator or physical device)
- Click the "Run" button (
▶️ ) or pressCmd + R
to build and run the project
The application's entry point is SwiftUIChallengeApp.swift
, which loads the main ContentView
. The core functionality is organized as follows:
SwiftUIChallengeApp.swift
: Application entry point and setupContentView.swift
: Main view implementationPaymentTypesRepositoryImplementation.swift
: Data layer implementation
Screenshots of the full flow are in the Screenshots
folder.
- Write clean, maintainable, and well-documented code and follow the best practices and coding standards.
- You are free to use any official documentation or language references (SwiftUI, Swift, etc).
- You can use the debugging tools and native IDE features (only standard Auto-Completion)
- Do NOT use any external libraries for the implementation.
- DO NOT use any Coding Assistants like GitHub Copilot, ChatGPT, etc or any other AI based tools.
- DO NOT visit direct blogs or articles related to implementation of the tasks.
- DO NOT use Stackoverflow or any other forum websites.