- Model: The data shown on the views.
- View: The user interface shown to the end user
- ViewModel: Updates the models from view inputs and updates the views from model outputs.
- Reduce view controllers' complexity.
- Increase business logic expressiveness.
- Make testing business logic easier without needing to worry about the view implementation and vice versa.
- FootballCore: Foundational football models.
- FootballAWS: Football networking layer.
- FootballUI: Football user interfaces.
- MainApp: Executable iOS app bundle.
- UIKit: Build the app's user interface using Apple's most mature and extensive UI-building framework.
- Combine: Process events and values over time using Apple's declarative reactive programming framework.
- SDWebImage: Remote image caching.