CSTV is an app that displays CS: GO matches happening across several worldwide tournaments
How to run the app
The external libraries are installed in the project with SPM, so just pressing play should run the project correctly.
This app was made in MVVM. The architecture follows the following Layers:
- UI (
- ViewModel (
- Service (
- Swiftlint: tool to enforce Swift style and conventions.
- RxSwift: reactive programming
- Alamofire: network calls
- Kingfisher: Image loading/caching
What would I have done if I had more time?
- Repository Layer: It’s job is to know where to fetch information from: Cache or Backend, for example
- Coordinator: it’s job is to coordinate VC’s presentation.
- Correct fonts and weights
- Custom Swiftlint rules
- Unit Tests for making sure password generation works how it’s supposed to do
- Better way to handle collectionview cells with UICollectionViewCompositionalLayout
Bugs and Limitations
- There’s a “bug” in the API where it returns a
not_startedstatus even though the match’s date already started, which causes the date not to be red