Professional Documents
Culture Documents
System
Design
Sarat Kumar Magatapalli
Agenda
Functional & Non-Functional requirements
Detail Design
June 2022 3
Web Protocols (Pre-Requisite)
• WebSocket (or WebSockets) is a protocol for low latency bidirectional communication initiated via HTTP
Useful for sending and receiving data using text, binary arrays or blobs . Providing full-duplex
communication channels over a single TCP connection
Client Server
• WebRTC (Web Real-Time Communication) is a free, open-source project that provides web browsers
and mobile applications with real-time communication (RTC) via simple application programming
interfaces (APIs).
Main API’s of WebRTC :
Server
• GetUserMedia
Client Client • PeerConnection
• Data Channel
June 2022 4
Design Approach
• As we prefer to leverage Microservice Architecture , let’s use microservices concepts to identify the
services ( should adhere to Single responsibility Principle) and build a loosely-coupled System.
• Use Domain-Driven Methodology to identify the break into small modules. Here are various
domain/capabilities
User Management
Group Management
Messages Management
Record Management
Notification Management
Asset Management
WebSocket Handlers
WebSocket Management
Group Management Handlers
June 2022 5
Zoom User & Group Registration Flow
June 2022 6
Zoom 1:1 Chat Walkthru
June 2022 7
Zoom 1:1 Video Walk thru
June 2022 8
Thank You