Real-Time Document Editor
Description:
The Real-Time Document Editor is a web-based application that enables real-time collaborative editing of documents. Built using Node.js, Express.js, React, Socket.io, and Codemirror, this project provides users with a seamless platform for creating, sharing, and editing documents in real-time, fostering efficient collaboration among teams and groups.
Features:
- Real-Time Collaboration: Multiple users can edit the same document simultaneously, with changes being instantly synchronized across all connected clients.
- User Management: Users can join document editing sessions using unique Room IDs and usernames, allowing them to identify collaborators and track contributions.
- Document Editing: The application provides a versatile text editor with syntax highlighting and formatting options, enabling users to edit various types of documents.
- Copy Room ID: Users can easily copy the Room ID to the clipboard for sharing with collaborators, simplifying the process of inviting others to join document editing sessions.
- Leave Room: Users can leave document editing sessions when they are done collaborating or no longer wish to participate, allowing for seamless management of active sessions.
Dependencies:
- Node.js
- Express.js
- React
- Socket.io
- Codemirror
Installation:
-
Clone the repository:
git clone https://github.com/your-username/real-time-document-editor.git
-
Navigate to the project directory:
cd real-time-document-editor
-
Install dependencies:
npm install
-
Start the server:
npm start
-
Access the application in your web browser at
http://localhost:3000
.
Usage:
- Open the application in your web browser.
- On the Home Page, either create a new room by clicking "Create New Room" or join an existing room by entering a Room ID and a username.
- Once inside a document editing session, collaborate with others in real-time by making edits to the document.
- Use the "Copy Room ID" button to share the Room ID with collaborators, and use the "Leave" button to exit the document editing session when finished.
Contributing:
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your fork.
- Submit a pull request to the
main
branch of the original repository.
Acknowledgements:
- Socket.io for real-time communication.
- Codemirror for the text editor component.
- React Hot Toast for toast notifications.
Author:
Contact:
For inquiries or support, please contact Through Mail @Click Here.
Project Status:
This project is actively maintained and open to contributions. Feel free to submit bug reports, feature requests, or pull requests to improve the application.