##Deployed At https://live-doc-kappa.vercel.app/
Live-Doc is a real-time collaborative whiteboarding application that allows multiple users to join a shared room and draw together simultaneously.
It's built with a modern tech stack including React for the frontend and Node.js with Socket.IO for the backend, providing a seamless and interactive experience.
- Real-Time Collaboration: Changes made by one user are instantly visible to all other users in the same room.
- Room-Based Sessions: Users can create a new room with a unique ID or join an existing one.
- User Presence: See a live list of all users currently connected to the room.
- Persistent User Info: Remembers your username and the last Room ID you used, making it easier to rejoin sessions.
- Copy Room ID: Easily share the room link with others with a single click.
- Toast Notifications: Get notified when users join or leave the room.
- Responsive Design: A clean and modern UI that works well on different screen sizes.
- React β JavaScript library for building user interfaces.
- Tldraw β Powerful open-source library for creating infinite canvas applications.
- Socket.IO Client β Handles real-time, bidirectional communication with the server.
- Zustand β Small, fast, and scalable state-management solution.
- React Router β For client-side routing and navigation.
- Tailwind CSS β Utility-first CSS framework for rapid UI development.
- React Hot Toast β For clean and simple notifications.
- Node.js β JavaScript runtime environment for the server.
- Express β Minimal and flexible Node.js web application framework.
- Socket.IO β Enables real-time, event-based communication.
- Nodemon β Automatically restarts the Node.js server on file changes.
Follow these instructions to get a copy of the project up and running on your local machine.
- Node.js (v14 or later)
- npm or yarn package manager
git clone https://github.com/lendrik-kumar/Live-Doc.git
cd Live-Doc
2οΈβ£ Setup the Backend
cd backend
npm install
Create a .env file inside the backend directory:
PORT=8000
Start the backend server:
npm start
The backend will be running at: http://localhost:8000
3οΈβ£ Setup the Frontend
cd ../frontend
npm install
Create a .env.local file inside the frontend directory:
VITE_NODE_URL=http://localhost:8000
Start the frontend development server:
npm run dev
The application will be available at: http://localhost:5173
(or another port if 5173 is busy)
π Project Structure
Live-Doc/
βββ backend/
β βββ node_modules/
β βββ package.json
β βββ index.js # Main server file
βββ frontend/
βββ public/
βββ src/
β βββ components/ # Reusable React components
β βββ lib/ # Socket.IO client setup
β βββ pages/ # Page components (Home, Editor)
β βββ utils/ # Zustand store
β βββ App.jsx
β βββ main.jsx
βββ package.json
βββ vite.config.js
π€ Contributing
Contributions are welcome! π
If you have suggestions for improvements or want to fix a bug, feel free to create an issue or submit a pull request.
Fork the project
Create your Feature Branch
git checkout -b feature/AmazingFeature
Commit your changes
git commit -m "Add some AmazingFeature"
Push to the branch
git push origin feature/AmazingFeature
Open a Pull Request
π License
This project is licensed under the MIT License β see the LICENSE file for details.
π Acknowledgments
Made with β€οΈ by Sanket
Inspired by the need for simple, real-time collaboration tools.
---
If you want, I can also make this **GitHub-friendly with badges** and a **preview screenshot**