Native Waves Video Streaming Application.
- Weclome Screen
- Video Screen
- AVPlayer
- Play/Pause/Seek Controls
- 10 second Forward/Backwards Control
- Live Data Controls
- Toggle Menu Controls
- OverLay Screen
- Reachability For Internet Connection
- Unit Tests
- No 3rd Party Libraries
- iOS 13.0+
- Xcode 12+
- Swift 5+
is a structural design pattern that separates objects into three distinct groups:
-
- hold application data. They're usually structs or simple classes.
-
- display visual elements and controls on the screen. They're typically subclasses of UIView.
-
- transform model information into values that can be displayed on a view. They're usually classes, so they can be passed around as references.
-
- The idea of the Coordinator pattern is to create a separate entity a Coordinator which is responsible for the app's flow. The Coordinator encapsulates a part of the app. The Coordinator knows nothing of its parent Coordinator , but it can start its child Coordinator. Navigation is not a viewController's responsibilty and coordinator makes it more easier to manage.
None 😎
- Assuming you have downloaded the project in Downloads folder. Open the folder named Live-Streaming and double click Live-Streaming.xcodeproj. Build the project using cmd+B key as a good practice. Hit cmd+R to run the project on desired simulator selected.
- Network Layer should adopt new swift 5 Result type.
- UI tests.
- As you can see in the codable models in the project the cases that covers codingKeys should have been plural entites in json response from backend e.g the key contestant in the matchInfo object should have been contestants as its representing an arrray of objects.