Update WIP backend diagram
This commit is contained in:
parent
38b8fd0065
commit
034e2a61bc
@ -47,21 +47,21 @@ subgraph VideoPipeline[Video Pipeline]
|
|||||||
RTMPService[fa:fa-video RTMP Service]
|
RTMPService[fa:fa-video RTMP Service]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph ChatService[fa:fa-comment Chat Service]
|
subgraph ChatService[fa:fa-comment Chat\nService]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Dependencies
|
subgraph Dependencies
|
||||||
OutboundWebhooks[Outbound]
|
|
||||||
|
|
||||||
App{Application}
|
App{AppController}
|
||||||
ChatService--->App
|
ChatService--->App
|
||||||
Webhooks--->App
|
Webhooks--->App
|
||||||
|
ActivityPubOutboundHandlers[fa:fa-hashtag ActivityPub\nOutbound]--->App
|
||||||
|
|
||||||
ConfigRepository(fa:fa-hard-drive Config Repository)--->App
|
ConfigRepository(fa:fa-hard-drive Config\nRepository)--->App
|
||||||
UserRepository(fa:fa-hard-drive User Repository)--->App
|
UserRepository(fa:fa-hard-drive User\nRepository)--->App
|
||||||
APRepository(fa:fa-hard-drive ActivityPub Repository)--->App
|
NotificationsRepository(fa:fa-hard-drive Notifications\nRepository)--->App
|
||||||
NotificationsRepository(fa:fa-hard-drive Notifications Repository)--->App
|
ChatRepository(fa:fa-hard-drive Chat\nRepository)
|
||||||
ChatRepository(fa:fa-hard-drive Chat Repository)
|
APRepository(fa:fa-hard-drive ActivityPub\nRepository)
|
||||||
|
|
||||||
Database(fa:fa-hard-drive Database)--->ConfigRepository
|
Database(fa:fa-hard-drive Database)--->ConfigRepository
|
||||||
Database--->UserRepository
|
Database--->UserRepository
|
||||||
@ -70,33 +70,30 @@ subgraph Dependencies
|
|||||||
|
|
||||||
ChatRepository-->ChatService
|
ChatRepository-->ChatService
|
||||||
|
|
||||||
ApplicationState(fa:fa-list Application State)--->App
|
ApplicationState(fa:fa-list Application\nState)--->App
|
||||||
GeoIP(fa:fa-globe GeoIP Lookup)--->App
|
GeoIP(fa:fa-globe GeoIP\nLookup)--->App
|
||||||
Statistics(fa:fa-list Statistics)--->App
|
Statistics(fa:fa-list Statistics)--->App
|
||||||
|
OutboundWebhooks[Outbound\nWebhooks]--->App
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph VideoStorageProviders[Video Storage Providers]
|
subgraph VideoStorageProviders[Video Storage Providers]
|
||||||
LocalStorage((fa:fa-hard-drive Local Storage))
|
LocalStorage((fa:fa-hard-drive Local\nStorage))
|
||||||
S3Storage((fa:fa-hard-drive S3 Storage))
|
S3Storage((fa:fa-hard-drive S3\nStorage))
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph ActivityPub
|
subgraph Authentication[Chat Authentication]
|
||||||
ActivityPubInboundHandlers[fa:fa-hashtag Inbound]
|
|
||||||
ActivityPubOutboundHandlers[fa:fa-hashtag Outbound]
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph Authentication
|
|
||||||
IndieAuth[fa:fa-key IndieAuth]
|
IndieAuth[fa:fa-key IndieAuth]
|
||||||
FediAuth[fa:fa-key FediAuth]
|
FediAuth[fa:fa-key FediAuth]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Notifications
|
subgraph Notifications[External Notifications]
|
||||||
DiscordNotifier[fa:fa-comment Discord]
|
DiscordNotifier[fa:fa-comment Discord]
|
||||||
BrowserNotifier[fa:fa-browser Browser]
|
BrowserNotifier[fa:fa-browser Browser]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph WebServer[Web Server]
|
subgraph WebServer[Web Server]
|
||||||
ActivityPubHandlers[fa:fa-file ActivityPub Handlers]
|
ActivityPubHandlers[fa:fa-file ActivityPub\nHandlers]
|
||||||
|
|
||||||
subgraph WebAssets[Web Assets]
|
subgraph WebAssets[Web Assets]
|
||||||
EmbeddedStaticFiles((fa:fa-file Embedded\nStatic Assets))
|
EmbeddedStaticFiles((fa:fa-file Embedded\nStatic Assets))
|
||||||
@ -106,31 +103,31 @@ subgraph WebServer[Web Server]
|
|||||||
end
|
end
|
||||||
|
|
||||||
subgraph HTTPHandlers[fa:fa-browser HTTP Handlers]
|
subgraph HTTPHandlers[fa:fa-browser HTTP Handlers]
|
||||||
AdminAPIs[Admin APIs]
|
AdminAPIs[Admin\nAPIs]
|
||||||
ThirdPartyAPIs[3rd Party APIs]
|
ThirdPartyAPIs[3rd Party\nAPIs]
|
||||||
WebSocket[WebSocket]
|
WebSocket[WebSocket]
|
||||||
subgraph ChatAPIs[Chat APIs]
|
subgraph ChatAPIs[Chat\nAPIs]
|
||||||
ChatUserRegistration[Chat User Registration]
|
ChatUserRegistration[Chat User\nRegistration]
|
||||||
Emoji[Emojis]
|
Emoji[Emojis]
|
||||||
subgraph ChatAuthAPIs[Chat Authentication]
|
subgraph ChatAuthAPIs[Chat\nAuthentication]
|
||||||
FediAuth
|
FediAuth
|
||||||
IndieAuth
|
IndieAuth
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
subgraph VideoAPIs[fa:fa-video Video APIs]
|
subgraph VideoAPIs[fa:fa-video Video APIs]
|
||||||
ViewerPing[Viewer Ping]
|
ViewerPing[Viewer\nPing]
|
||||||
PlaybackMetrics[Playback health metrics]
|
PlaybackMetrics[Playback\nHealth Metrics]
|
||||||
end
|
end
|
||||||
ActivityPubHandlers
|
ActivityPubHandlers
|
||||||
ApplicationConfig[Application Config]
|
ApplicationConfig[Application\nConfig]
|
||||||
ApplicationStatus[Application Status]
|
ApplicationStatus[Application\nStatus]
|
||||||
Directory[Directory API]
|
Directory[Directory\nAPI]
|
||||||
Followers[Followers]
|
Followers[Followers]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Streamer
|
subgraph Streamer
|
||||||
BroadcastingSoftware>fa:fa-video BroadcastingSoftware]
|
BroadcastingSoftware>fa:fa-video Broadcasting\nSoftware]
|
||||||
end
|
end
|
||||||
|
|
||||||
%% All the services and packages require access
|
%% All the services and packages require access
|
||||||
@ -139,25 +136,21 @@ App-.->HTTPHandlers
|
|||||||
App-.->VideoPipeline
|
App-.->VideoPipeline
|
||||||
App-.->ActivityPub
|
App-.->ActivityPub
|
||||||
App-.->Authentication
|
App-.->Authentication
|
||||||
App-.Stream went\nonline.->Notifications
|
App-.->Notifications
|
||||||
App-.->DirectoryNotifier[Directory Notifier]
|
App-.->DirectoryNotifier[Owncast\nDirectory]
|
||||||
|
|
||||||
LocalStorage--HLS-->OnDiskStaticFiles
|
LocalStorage--HLS-->OnDiskStaticFiles
|
||||||
|
|
||||||
RTMPService>RTMP Ingest]--RTMP-->VideoTranscoder
|
RTMPService>RTMP Ingest]--RTMP-->VideoTranscoder
|
||||||
VideoTranscoder--HLS-->VideoStorageProviders
|
VideoTranscoder--HLS-->VideoStorageProviders
|
||||||
|
|
||||||
%% Viewers
|
|
||||||
VideoPlayer-->VideoStorageProviders
|
|
||||||
WebBrowser-->WebAssets
|
|
||||||
|
|
||||||
%% Streamers
|
%% Streamers
|
||||||
BroadcastingSoftware--RTMP-->RTMPService
|
BroadcastingSoftware--RTMP-->RTMPService
|
||||||
|
|
||||||
%% Style the nodes
|
%% Style the nodes
|
||||||
|
|
||||||
%% Define reusable styles for node types
|
%% Define reusable styles for node types
|
||||||
classDef bigtext font-weight:bold,font-size:20px
|
classDef bigtext font-weight:bold,font-size:40px
|
||||||
classDef repository fill:#4F625B,color:#fff
|
classDef repository fill:#4F625B,color:#fff
|
||||||
classDef webservice fill:#6082B6,color:#fff
|
classDef webservice fill:#6082B6,color:#fff
|
||||||
classDef rtmp fill:#608200, color:#fff
|
classDef rtmp fill:#608200, color:#fff
|
||||||
@ -191,5 +184,5 @@ class LocalStorage storage
|
|||||||
class S3Storage storage
|
class S3Storage storage
|
||||||
|
|
||||||
%% Customize the theme styles
|
%% Customize the theme styles
|
||||||
%%{init: {'theme':'base', 'themeVariables': {'darkMode': true, 'lineColor': '#c3dafe', 'tertiaryTextColor': 'white', 'clusterBkg': '#2d3748', 'primaryTextColor': '#39373d', "edgeLabelBackground": "white", "fontFamily": "monospace"}}}%%
|
%%{init: {'theme':'base', 'themeVariables': {'darkMode': true, 'lineColor': '#c3dafe', 'tertiaryTextColor': 'white', 'clusterBkg': '#2d3748', 'primaryTextColor': '#39373d', "edgeLabelBackground": "white", "fontFamily": "monospace", "fontSize": "30px"}}}%%
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user