Skip to content

shrtlist/PaymentTypeSelection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftUI Test

In this test, you will be need to create a payment type selection interface using SwiftUI.

Requirements

  • macOS Monterey 12.0 or later
  • Xcode 13.2 or later
  • Swift 5.0 or later
  • iOS Simulator/Device 15.2 or later

Task Details

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

Implementation Checklist

  • 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

Setup

Open the project in Xcode

open SwiftUIChallenge.xcodeproj

Running the Project

  1. Open the project in Xcode
  2. Select your target device (iOS Simulator or physical device)
  3. Click the "Run" button (▶️) or press Cmd + R to build and run the project

Project Structure

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 setup
  • ContentView.swift: Main view implementation
  • PaymentTypesRepositoryImplementation.swift: Data layer implementation

Running Project Example

Screenshots of the full flow are in the Screenshots folder.

Example: Example View


Development Guidelines

Do's

  • 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)

Don'ts

  • 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.

About

A payment type selection interface with a countdown timer using SwiftUI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages