[VideoStreaming][1/n] Requirements
Nov 3, 2020
Functional requirements
- Users can register an account using email and password
- Users can sign-in with previously registered email and password
- Users can perform a live stream to their account from their Desktop/Laptop
- Users can view a live or pre-recorded public stream of any channel using Browsers or IOS App
- Users can view and interact with a dedicated chat of a live stream
- Users can see how many viewers are watching a stream
Non-functional requirements
- Security — accounts are protected and require authentication
- Logging — all interactions with the system are logged and allow retrospection for at least few days period
- Storage — video, audio, messages and user accounts are backed by a database
- Configuration — features and optimisations are controllable without the need of redeployment
- Performance — aim at good level of latency and quality
- Cost — aim at choosing cost-efficient solutions
- Interoperability — build extensible API for future improvements and integrations