Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Commit 2e8438f

Browse files
authored
Merge pull request #61 merge from branch 27
2 parents 7963c74 + 5571646 commit 2e8438f

File tree

4 files changed

+865
-0
lines changed

4 files changed

+865
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
graph TD
2+
subgraph "User / Client"
3+
User[<fa:fa-user> User/API Client]
4+
end
5+
6+
subgraph "DevOps & CI/CD Pipeline"
7+
GH_Repo[<fa:fa-github> GitHub Repo] -->|Push to master<br>New Release| GH_Actions[<fa:fa-cogs> GitHub Actions<br>Build, Test, & Publish]
8+
GH_Actions -->|Publishes Image| DockerHub[<fa:fa-docker> Docker Hub<br>noobdevsam/spring-project-steganography-tool]
9+
end
10+
11+
subgraph "Spring Boot Application (Docker Container)"
12+
subgraph "Request Entry Point"
13+
Filter[<fa:fa-filter> CorrelationIdFilter<br><i>Adds Trace ID</i>] --> Controller
14+
Controller[<fa:fa-server> StegoController<br><i>REST API Endpoints</i>]
15+
ExceptionHandler[<fa:fa-shield-alt> GlobalExceptionHandler<br><i>Formats Error Responses</i>]
16+
Controller -- Catches Exceptions --> ExceptionHandler
17+
end
18+
19+
subgraph "Core Business Logic"
20+
Service[<fa:fa-concierge-bell> SteganographyService<br><i>Orchestrates Workflows</i>]
21+
end
22+
23+
subgraph "Utility Services"
24+
CapacitySvc[<fa:fa-calculator> CapacityUtilService<br><i>Estimates required space</i>]
25+
AesSvc[<fa:fa-lock> AesUtilService<br><i>PBKDF2 Key Derivation, AES Encryption</i>]
26+
LsbSvc[<fa:fa-magic> LsbUtilService<br><i>Hides data in image pixels</i>]
27+
LargeFileSvc[<fa:fa-file-import> LargeFileEncryptionService<br><i>Handles large file streams</i>]
28+
end
29+
30+
subgraph "Data & Storage Layer"
31+
Repo[<fa:fa-book> StegoDataRepository<br><i>JPA interface to DB</i>]
32+
StorageSvc[<fa:fa-folder-open> StorageService<br><i>Manages file system I/O</i>]
33+
end
34+
35+
subgraph "Background Processing"
36+
CleanupTask[<fa:fa-trash-alt> OrphanCleanupTask<br><i>Scheduled Job</i>]
37+
end
38+
end
39+
40+
subgraph "External Systems"
41+
DB[(<fa:fa-database> MySQL Database<br><i>Stores encoding metadata</i>)]
42+
FS[/<fa:fa-hdd> File System<br><i>Docker Volume for stego-images</i>/]
43+
end
44+
45+
%% --- FLOWS ---
46+
User -- "1. POST /encode (Image, Data, Password)" --> Filter
47+
Controller -->|2. Calls| Service
48+
49+
Service -->|3. Early check| CapacitySvc
50+
Service -->|4. Encrypts data| AesSvc
51+
Service -- "4a. (For large files)" --> LargeFileSvc
52+
Service -->|5. Embeds encrypted data| LsbSvc
53+
Service -->|6. Saves stego-image| StorageSvc
54+
Service -->|7. Saves metadata| Repo
55+
56+
Repo -->|JPA| DB
57+
StorageSvc -->|Writes/Reads| FS
58+
CleanupTask -->|Deletes old files| StorageSvc
59+
CleanupTask -->|Checks DB references| Repo
60+
61+
style User fill:#D5E8D4,stroke:#82B366
62+
style GH_Repo fill:#f5f5f5,stroke:#333
63+
style DockerHub fill:#DAE8FC,stroke:#6C8EBF
64+
style DB fill:#DAE8FC,stroke:#6C8EBF
65+
style FS fill:#DAE8FC,stroke:#6C8EBF
235 KB
Loading

0 commit comments

Comments
 (0)