Skip to content

Front-end implementation of a real-time collaborative text editor built with React.js. It integrates seamlessly with a backend powered by Node.js, Express, and Socket.IO to provide a live editing experience.

License

Notifications You must be signed in to change notification settings

BaseMax/custom-editor-react

Repository files navigation

Custom Editor React

Welcome to the Custom Editor React project! This is a front-end implementation of a real-time collaborative text editor built with React.js. It integrates seamlessly with a backend powered by Node.js, Express, and Socket.IO to provide a live editing experience.

Back-End repository: https://github.com/BaseMax/editor-realtime-collaborative

Custom Editor React

Features

  • Real-Time Collaboration: Multiple users can edit the same document simultaneously.
  • Live Markdown Preview: Users can see rendered Markdown in real time.
  • WebSocket Integration: Ensures instant synchronization between users.
  • User Tracking: Displays the number of online users.
  • Customizable Interface: Can be extended with themes, plugins, and additional features.
  • React-Based Architecture: Ensures a modern and scalable front-end.

Technologies Used

  • React.js - Front-end library for building UI components.
  • TypeScript - Ensures type safety and better development experience.
  • Socket.IO - Enables real-time communication with the backend.

Getting Started

Prerequisites

Ensure you have the following installed:

Installation

  1. Clone the repository:

    git clone https://github.com/BaseMax/custom-editor-react.git cd custom-editor-react
  2. Install dependencies:

    npm install # or yarn install
  3. Start the development server:

    npm run dev # or yarn dev

    The development server will start on http://localhost:3000.

Project Structure

02/17/2025 04:02 PM 253 .gitignore 02/17/2025 06:10 PM 105,941 bun.lock 02/17/2025 04:02 PM 734 eslint.config.js 02/17/2025 04:05 PM 225 eslintrc.json 02/17/2025 04:02 PM 366 index.html 02/17/2025 03:58 PM 1,086 LICENSE 02/17/2025 04:45 PM <DIR> node_modules 02/17/2025 04:45 PM 127,528 package-lock.json 02/17/2025 06:10 PM 948 package.json 02/17/2025 04:02 PM <DIR> public 02/17/2025 04:02 PM 1,607 README.md 02/17/2025 05:30 PM <DIR> src 02/17/2025 04:02 PM 665 tsconfig.app.json 02/17/2025 04:02 PM 119 tsconfig.json 02/17/2025 04:02 PM 593 tsconfig.node.json 02/17/2025 04:02 PM 161 vite.config.ts 

WebSocket Events

Event Name Description
connection Triggered when a user connects.
updateContent Sends the latest content to clients.
contentChange Updates content from a user.
onlineUsers Notifies users of the current online count.
disconnect Triggered when a user disconnects.

Contributing

Contributions are welcome! Feel free to:

  • Submit issues.
  • Open pull requests.
  • Suggest new features.

License

This project is licensed under the MIT License.

Author

Seyyed Ali Mohammadiyeh (Max Base)

GitHub: @basemax

Email: maxbasecode@gmail.com

Happy Coding! 🚀

About

Front-end implementation of a real-time collaborative text editor built with React.js. It integrates seamlessly with a backend powered by Node.js, Express, and Socket.IO to provide a live editing experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •