DisKoM is a hybrid communication platform merging the best of Discord (text/voice servers) and Kumospace (spatial interaction). It allows users to chat in text channels and interact spatially in virtual rooms with avatars, proximity-based audio/video, and screen sharing.
- Sidebar: Discord-style server and channel navigation.
- Chat View: Standard text messaging interface for text channels.
- Spatial View: 2D virtual room for voice channels.
- Avatars: Visual representation of users in the room.
- Movement: Move your avatar using WASD or Arrow Keys.
- Proximity: Automatically connect to others when you get close to them. A connection line and status indicator will appear.
- Voice Channels: Click a voice channel to join. You will appear in the sidebar list.
- Video Calls: Toggle your Camera to spawn a video feed.
- Screen Sharing: Share your screen with others in the room.
- Interactive Controls: Mute/Unmute, Camera On/Off, and Disconnect controls appear when connected.
- Settings: Access user settings via the Gear Icon in the bottom user bar.
- Profile: View your mock user profile.
- Node.js (v16+)
- npm
- Clone the repository:
git clone https://github.com/yourusername/DisKoM.git cd DisKoM - Install dependencies:
npm install
Start the Vite dev server and Electron app simultaneously:
npm run devBuild the application for your OS (Linux/Windows/Mac):
npm run buildThe output will be in the dist folder.
- Launch the App: Enter any username at the Login screen.
- Navigate: Click "# general" for text chat, or "🔊 Lounge" to enter the spatial room.
- Move: In the Lounge, use Arrow Keys to move your blue avatar.
- Connect: Move close to "Bot 1" or "Bot 2". You will see a connection line.
- Interact: Use the bottom media bar to toggle your Mic or Camera.
- Leave: Click the "Disconnect" phone icon in the sidebar or the "X" in the media bar.
- Electron: Desktop integration.
- Vite: Fast build tool and dev server.
- React: UI library.
- TypeScript: Type safety.
- HTML5 Canvas: Spatial rendering.