Hi, everyone, this is Nate, happy to join you guys/gals ; )
I completed this challenge, here are some highlights of my work.
System Design
- App Architecture: MVVM
- UI+Layout: Programmatically created UI + Frame-based layout
- Language: Swift
Services / Dependencies
- APIService, also I realized NBA teams are somewhat constant, so I injected a tiny core data container specifically for teams date into my APIService.
- DependenciesService. This is a fairly small app, so I ended up with just one APIService object inside this DependenciesService container. I guess I over-engineered this service.
- ThemeController. This dependency is used to control dark/light theme.
UI Highlights
- Themed Design, UIColor.systemRed as the theme color.
- Rounded tab bar
- GamesViewController (the first tab)
- Moving NBA logo on the upper right
- CardView
- Gradient color view for opposing teams
- TableView cell sliding in animation
- StandingsViewController (the second tab)
- Sorting button, which is a context menu button.
Some Screenshots
p.s. i want my very first badge