/tawk-test

Primary LanguageSwift

GitHubApp

Online assessment for job application at tawk.to

App Screenshots

Accomplished Requirements

  • Swift 5.1.
  • Xcode 11.5
  • MVVM, Coordinator, Clean architecture
  • Use Codables -> use in Gateway layer models in API
  • CoreData for data persisting.
  • UIKit using AutoLayout.
  • 1 network request at a time.
  • All media has to be cached on disk.
  • Api & Image request use all native apis (no 3rd party libraries).
  • Offline mode.
  • Handle no internet scenario.
  • Retry loading data once the connection is available.
  • Pagination with spinner.
  • Every 4th avatars colour are inverted.
  • Note icon if there is note information saved
  • User list in code.
  • User detail ui using Interface Builder.
  • Save note locally
  • Loading shimmer for both user & user detail
  • Exponential backoff every retry.
  • Utilize Result types
  • CoreData save background
  • Search using name & note
  • Support dark & light mode
  • Unit Testing
  • Flexible tableCells using protocols

TODO

  • Add environment schemes for different environments
  • Add Unit test for Gateway & domain layer

Any question