Improve docs

This commit is contained in:
2025-12-07 15:27:12 +03:00
parent 70bec5ea4f
commit 702444d016
5 changed files with 78 additions and 71 deletions

3
docs/structurizr/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.structurizr
workspace.json
!out

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env sh
docker run -it --rm -p 8080:8080 -v "${PWD}:/usr/local/structurizr" structurizr/lite

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,50 @@
workspace "memevizor" "A meme sharing service" {
model {
// Actors
u = person "User" "Meme submitter."
a = person "Approver" "Moderates/Approves memes."
tv = person "Viewer (Any Web Browser)" "Opens the S3-hosted UI on a browser (e.g., on a TV screen) to view the current approved meme."
// External Systems
tg = softwareSystem "Telegram" "Messaging platform used for content submission and moderation."
// The Software System under development
ss = softwareSystem "Memevizor" "A Telegram-based service for submitting, approving, and displaying memes." {
// Core Application Container (Renamed and specified technology)
bot = container "Memevizor Bot Backend" "Kotlin/Spring Application." "Processes Telegram updates, handles media conversion, and manages S3 content."
// Storage Container (Clarified role)
s3 = container "Content S3 Bucket" "AWS S3." "Stores static UI assets (HTML/CSS/JS) and approved media content."
}
// Actor Relationships
u -> tg "Sends memes and content to"
a -> tg "Moderates/Approves content by replying to messages in"
// Backend Interactions
// 1. Core Telegram Communication (Polling for messages and sending replies)
bot -> tg "Polls for updates and sends reactions/replies/Downloads media" "HTTPS/Telegram Bot API"
// 3. S3 Interactions
bot -> s3 "Uploads UI assets/media" "HTTPS"
// Viewer/Client Interactions
tv -> s3 "Fetches UI and polls for media files" "HTTPS"
}
views {
systemContext ss "SystemContext" {
// Focus on the Memevizor system and its neighbors
include *
autolayout lr
//
}
container ss "ContainerDiagram" {
// Focus on the containers within Memevizor and their external dependencies
include *
autolayout tb
}
}
}