/PTV

SwiftUI + Combine + MVVM Design Pattern

Primary LanguageSwift

PTV Planner

App Notes

  • The App fetches data from PTV timetable API a publically avilable API to allow users to use a means of transportation and take them as far as they would like from the CBD and display departure details for the selected route.
  • MVVM Design Pattern + SwiftUI + Combine
  • Using SPM integrated third party library SwiftyMarkdown for light usage to convert strings into NSAttributedStrings using sensible defaults and a Swift-style syntax.
  • SwiftLint

Tasks Completed:-

  • Architect and implement the app using clean MVVM Design Pattern with SwiftUI and integrate with API
  • Structure the application code folders.
  • Decode and map modles using Codable.
  • Simplify API End Points.
  • Implement a Generic API Manager to handle any endpoint.
  • Created a generic re-usable View Model protocol.
  • Add a number of extentions, helpers and utilities.
  • Added error handling.
  • Add Localized file for API Errors and UI.

Instructions

  • Implemented using Xcode Version 13.3.1 (13E500a)
  • Simply open the workspace file.
  • No Errors or Warnings.

================