How notsubhan77/fireupp-backend works
Fireupp is an encrypted collaboration product with a desktop client, Android companion, and Express/WebSocket backend. The main user workflow is to use the client to authenticate, load chats and workspace data, then message, call, share a screen, or post a status; backend routes and realtime fan-out serve client requests and persist domain data. README-described broadcasts and cloud-vault features are retained as distinct branches, though their detailed wiring is not established by the excerpts. Edges are limited to explicit README statements and shown references/calls; unsampled modules are represented by their exact directories.
Main entry points: App.jsx Desktop Shell · server.js HTTP & Realtime Server · lib.rs Native Capture API · ZovioMediaPlugin.kt Android Media Plugin
Components 25
Client Apps
- Desktop Shell
desktop/src/App.jsx - API Client
desktop/src/api/client.js - Android Companion
mobile/android/app/src/main/java/app/zovio/mobile/MainActivity.kt - QR Scanner
mobile/android/app/src/main/java/app/zovio/mobile/QrScannerActivity.kt - Call Service
mobile/android/app/src/main/java/app/zovio/mobile/ZovioCallService.kt
Collaboration Features
- Messaging UI
desktop/src/components/ChatView.jsx - Calls UI
desktop/src/components/CallView.jsx - Screen Share UI
desktop/src/components/DiscordScreenShareModal.jsx - Status UI
desktop/src/components/StatusView.jsx - Profile & Settings
desktop/src/components/ProfileModal.jsx - Chat Domain
public/js/chat.js - Meeting Domain
public/js/meetings.js - Workspace
public/js/workspace.js - Broadcast Channels
public/js
Backend Services
- Client Cryptography
public/js/crypto.js - HTTP & Realtime Server
server.js - Document & File Store
store.js - Local Data
public/js/localdb.js - Cloud Drive
public/js/gdrive.js
Media Runtime
- Native Capture API
desktop/native/zovio-media/src/lib.rs - Video Capture
desktop/native/zovio-media/src/video.rs - Audio Capture
desktop/native/zovio-media/src/audio.rs - Android Media Plugin
mobile/android/app/src/main/java/app/zovio/mobile/ZovioMediaPlugin.kt
Other components
- User
- Cloud Firestore
Connections 23
- User → Desktop Shell: uses
README.md - Desktop Shell → API Client: loads data
desktop/src/App.jsx - Desktop Shell → Messaging UI: renders
desktop/src/App.jsx - Desktop Shell → Calls UI: renders
desktop/src/App.jsx - Desktop Shell → Status UI: renders
desktop/src/App.jsx - Desktop Shell → Profile & Settings: renders
desktop/src/App.jsx - Calls UI → Screen Share UI: renders
desktop/src/components/CallView.jsx - API Client → HTTP & Realtime Server: HTTP and WebSocket
desktop/src/api/client.js - Android Companion → Android Media Plugin: registers
mobile/android/app/src/main/java/app/zovio/mobile/MainActivity.kt - Android Media Plugin → Call Service: references
mobile/android/app/src/main/java/app/zovio/mobile/ZovioMediaPlugin.kt - Android Media Plugin → QR Scanner: references
mobile/android/app/src/main/java/app/zovio/mobile/ZovioMediaPlugin.kt - HTTP & Realtime Server → Document & File Store: persists data
server.js - Document & File Store → Cloud Firestore: syncs documents
store.js - HTTP & Realtime Server → Client Cryptography: uses crypto
server.js - User → Chat Domain: messages
README.md - User → Meeting Domain: starts meetings
README.md - User → Workspace: collaborates
README.md - User → Broadcast Channels: follows channels
README.md - User → Cloud Drive: stores files
README.md - User → Local Data: uses local data
- Screen Share UI → Native Capture API: may capture natively
- Native Capture API → Video Capture: starts capture
desktop/native/zovio-media/src/lib.rs - Native Capture API → Audio Capture: starts capture
desktop/native/zovio-media/src/lib.rs