Technical refactor of navigation and datasources to a cleaner more scalable architecture which should help increase stability and ease adding new features.
the refactoring happens in three stages
Stage 1: Navigation
Using the Coordinator pattern a required tree-like VC structure can be established.
Pages to handle:
Stage 2: DataSource
Splitting any kind of data read/write operation into repositories and datasources. This includes the following functionality:
By design every component needs to be built with a reactive approach using the Combine framework.