SwissBorgTickers

Installation and running

The projects relies on SPM to install dependencies. You can run it on both iPad and iPhone.

Preview all views

Views have been designed with SwiftUI. You can preview them and their states See for example

success initial_refresh loading_refresh refresh_error initial_error

Known issues

Because I spent a bit too much time on the project and I had to stop at some point:

  • The graph is not really efficient. It's only here because I wanted to test SwiftUI against the SwissBorg design.
  • Not everything is unit tested, but the VM should be fine. I also tried to test the extensions amongst other things like the service, ...
  • It was my first time using Moya so I might not be using it 100% correctly. It gave me some headaches regarding stubbing behavior
  • The VM uses both Combine and RxSwift. RxSwift is more mature so I used it here but I still need to bridge it with SwiftUI using Combine. There might be more efficient way though.
  • I usually use SwiftLint and/or SwiftFormat. But it's not the case here, I focused on delivering something rather than some project management. Same goes for code generation like Sourcery for UT helpers.

Screenshots

iPhone_portrait iPhone_search iPad_portrait iPad_landscape