CSTV is an app that displays CS: GO matches happening across several worldwide tournaments
Demo |
---|
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 (
MatchListViewController
,MatchDetailViewController
) - ViewModel (
MatchListViewModel
) - Service (
Match Service
)
- Swiftlint: tool to enforce Swift style and conventions.
- RxSwift: reactive programming
- Alamofire: network calls
- Kingfisher: Image loading/caching
- 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
- Pagination
- Better way to handle collectionview cells with UICollectionViewCompositionalLayout
- There's a "bug" in the API where it returns a
not_started
status even though the match's date already started, which causes the date not to be red