diff --git a/README.md b/README.md index 6fecce3..98d41ca 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,12 @@ create two separate projects in SonarCube panel. First project for host app, and second project for client viewer app. TODO: add how to get started with local SonarCube for Deskreen in details. +## Documentation + +### High level design + +![high-level-design](./doc/architecture/deskreen-arch-pavlobu-21012021.svg) + ## Note on versioning: - All versions git tags should start with `v` ex. `v1.0.0` diff --git a/doc/architecture/deskreen-arch-pavlobu-21012021.html b/doc/architecture/deskreen-arch-pavlobu-21012021.html new file mode 100644 index 0000000..eded562 --- /dev/null +++ b/doc/architecture/deskreen-arch-pavlobu-21012021.html @@ -0,0 +1,21 @@ + + + + + deskreen-architecture-pavlobu-21012021 + + + +
+ + + diff --git a/doc/architecture/deskreen-arch-pavlobu-21012021.svg b/doc/architecture/deskreen-arch-pavlobu-21012021.svg new file mode 100644 index 0000000..d6eb4b8 --- /dev/null +++ b/doc/architecture/deskreen-arch-pavlobu-21012021.svg @@ -0,0 +1,3 @@ + + +
Deskreen | High level design by Pavlo (Paul) Buidenkov 21 Jan 2021

Deskreen | High level design by Pavlo (Paul) Buidenkov 21 Jan 2021...
WiFi or LAN or 127.0.0.1
WiF...
https://www.deskreen.com
https://www.deskreen.com
Windows / MacOs / Linux machine
Windows / MacOs / Linux machine
Deskreen App (electron.js) ./app
Deskreen App (electron.js) ./app
Electron main process (deskreen web browser window)
Electron main process (des...
UI (react.js)
UI (react.js)
HTTP server (sends web page files to client) at moment Koa, can be any
HTTP server (sends web page files to c...
Signaling Server (port 3131) ./app/server
Signaling Server (port 3131) ./app/server
WebSocket socket.io-server. Responsible client and host app WS based communication. unique roomID for each connection
WebSocket socket.io-server. R...
Electron renderer process
(a no-window web browser)
Electron renderer process...
   get desktop stream   
   get desktop stream   
  generated desktop stream  
  generated desktop stream  
 electron desktopCapturer 
 electron desktopCapturer 
    e2e encrypted    
    e2e encrypted    
socket.io client (connect to server by roomID ex. 623456)
socket.io client (connect to s...
simple-peer ( WebRTC API )
simple-peer ( WebRTC API )
Screen Sharing Session
Screen Sharing Session
Web browser that supports WebRTC
Web browser that supports WebR...
Any device with a web browser that supports WebRTC
Any device with a web browser that...
simple-peer ( WebRTC API )
simple-peer ( WebRTC API )
socket.io-client (connect to server by roomID ex. 623456)
socket.io-client (connect to s...
UI (react.js)
UI (react.js)
   WebRTC video streaming   
   WebRTC video streaming   
   e2e encrypted   
   e2e encrypted   
Browser tab with Deskreen client web page ./app/client
Browser tab with Deskreen client web page ./a...
Viewer does not support full SVG 1.1
\ No newline at end of file