49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# SecureCam codebase architecture
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
CAMERA["Camera device
|
|
Mobile camera app / browser simulator"]:::client
|
|
|
|
USER["User devices
|
|
Web app / mobile app"]:::client
|
|
|
|
subgraph PLATFORM["SecureCam platform"]
|
|
BACKEND["Backend service
|
|
• authentication
|
|
• device coordination
|
|
• live stream control
|
|
• motion events
|
|
• recordings access"]:::backend
|
|
end
|
|
|
|
DATA["Core data layer
|
|
PostgreSQL"]:::data
|
|
|
|
MEDIA["Media storage
|
|
MinIO / S3-compatible object storage"]:::data
|
|
|
|
NOTIFY["Notifications
|
|
push + in-app activity updates"]:::service
|
|
|
|
CAMERA -->|"motion, stream, recordings"| BACKEND
|
|
USER -->|"auth, viewing, control"| BACKEND
|
|
|
|
BACKEND -->|"app state, users, devices, events"| DATA
|
|
BACKEND -->|"video and recording assets"| MEDIA
|
|
BACKEND -->|"alerts and activity fan-out"| NOTIFY
|
|
|
|
NOTIFY --> USER
|
|
|
|
classDef client fill:#e8f1ff,stroke:#3b82f6,stroke-width:2px,color:#111827;
|
|
classDef backend fill:#ecfdf3,stroke:#16a34a,stroke-width:2px,color:#111827;
|
|
classDef data fill:#fff7e8,stroke:#f59e0b,stroke-width:2px,color:#111827;
|
|
classDef service fill:#f3e8ff,stroke:#9333ea,stroke-width:2px,color:#111827;
|
|
```
|
|
|
|
## Notes
|
|
|
|
- This version is intentionally high level.
|
|
- It treats the web app, mobile app, and simulator as client surfaces around one backend platform.
|
|
- Internal backend modules such as routes, workers, realtime gateway, and media scaffolding are abstracted into a single service block.
|