How enclicainteractive/voltapp works
VoltApp is the React frontend for VoltChat: users authenticate, enter channel or direct-message conversations, and communicate through real-time messaging and WebRTC voice. The app also provides server administration, discovery, and a broad catalog of collaborative activities. Encryption and shared application contexts support the communication experience. The README documents the main backend integrations; sampled source confirms app routing, authentication calls, and selected feature wiring, so unsampled feature-level connections are kept conservative.
Main entry points: ChatPage.jsx Chat page · App.jsx App routes · ChatArea.jsx Messages and channels · apiService.js API service
Components 24
Application shell
- App routes
src/App.jsx - API service
src/services/apiService.js - Themes
src/contexts/ThemeContext.jsx - PWA service worker
public/sw.js
Chat and calling
- Chat page
src/pages/ChatPage.jsx - Messages and channels
src/components/ChatArea.jsx - Realtime socket
src/contexts/SocketContext.jsx - Voice and calls
src/components/UnifiedVoiceView.jsx - Call context
src/contexts/CallContext.jsx - Direct messages
src/components/DMChat.jsx - Chat widgets
src/components/WidgetManager.jsx - Widget persistence
src/services/widgetService.js
Servers and discovery
- Server management
src/components/ServerSidebar.jsx - Server events
src/components/ServerEventsManager.jsx - Discovery and friends
src/components/Discovery.jsx
Collaborative activities
- Activity picker
src/components/ActivityPicker.jsx - Builtin activity host
src/activities/BuiltinActivityHost.jsx - Builtin activities
src/activities/builtin/definitions.js
Identity and security
- Auth context
src/contexts/AuthContext.jsx - OAuth and auth
src/services/authService.js - End-to-end encryption
src/contexts/E2eContext.jsx
Other components
- User
- Voltage backend
- Enclica OAuth
Connections 26
- User → App routes: uses
- App routes → Auth context: provides
- App routes → Chat page: routes
- App routes → Themes: provides
- Auth context → OAuth and auth: requests auth
- OAuth and auth → Enclica OAuth: exchanges tokens
- OAuth and auth → Voltage backend: calls auth API
- Chat page → Messages and channels: renders
- Chat page → Server management: shows servers
- Messages and channels → API service: loads messages
- Messages and channels → Realtime socket: receives updates
- Realtime socket → Voltage backend: connects realtime
- API service → Voltage backend: calls API
- Chat page → Direct messages: opens DMs
- Chat page → Voice and calls: opens voice
- Voice and calls → Call context: uses call state
- Messages and channels → End-to-end encryption: uses encryption
- Server management → API service: manages servers
- Server events → API service: manages events
- Chat page → Discovery and friends: opens discovery
- Chat page → Activity picker: opens activities
- Activity picker → Builtin activity host: selects activity
- Builtin activity host → Builtin activities: resolves activity
- Chat page → Chat widgets: opens widgets
- Chat widgets → Widget persistence: loads and saves
- User → PWA service worker: uses offline app