Working Room - A sleek, dark-themed collaborative desktop editor built with Electron and FastAPI. Supports real-time editing via WebSocket, room-based sessions, and modern UI. Perfect for co-authoring code, notes, or files with no login required.
- 🔁 Real-Time Collaboration — Changes appear instantly for everyone in the room
- 🔐 Author-Based Control — Only the room creator can:
- Copy invite link
- Kick all members
- Open new files (sync to all)
- 👥 Live Editing for All — All users (including the author) can:
- Type and edit freely
- Receive live content from others
- 🖥 Cross-Platform Desktop App — Built with Electron
- 🎨 Modern UI — The newest UI with dark mode
- 📝 File Support — Markdown, Code, and more (can have more in feature)
- 🔌 Works Offline Locally — Run backend and frontend together without cloud
- Create a room → Unique room ID is generated
- Join with room ID → Editor syncs with author's content
- Type or paste → Changes broadcast to all others
- Author-only Permission:
Copy Room ID
,Kick Members
,Open File
,Save file directly
- Python 3.8+
Requires: fastapi 0.110.1, uvicorn 0.29.0, aiofiles 23.2.1, python-multipart 0.0.9
- Node.js (Electron frontend)
git clone https://github.com/Iro96/Wroom.git
cd Wroom
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
cd electron
npm install
npm start
Action | Description |
---|---|
Create Room | Generates a unique room ID and registers the current user as the author. |
Join Room | Enter an existing room ID to join as a member. |
Edit Document | All users can edit the document. Changes are synced in real-time. |
Open File (Author only) | Author can load a local file into the editor. Contents are broadcast to all users. |
Save File | Save the current editor content locally. |
Kick All Members (Author only) | Instantly removes all members from the room. |
Copy Invite ID (Author only) | Copies the room ID to clipboard for inviting others. |
Leave Room | Disconnects from the room and resets the UI. |
Role | Can Edit | Can Open Files | Can Kick Others | Can Copy Room ID |
---|---|---|---|---|
Author | ✅ | ✅ | ✅ | ✅ |
Member | ✅ | ❌ | ❌ | ❌ |
Licensed under the MIT License — see LICENSE for more details.
We welcome pull requests and feedback!
Feel free to fork this repo and submit your improvements via PR.Note! This project is still in the works.