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

Folders and files

NameName
Last commit message
Last commit date
Feb 17, 2025
Feb 17, 2025
Feb 17, 2025
Feb 17, 2025
Feb 22, 2025
Feb 17, 2025
Feb 22, 2025
Feb 17, 2025
Feb 17, 2025
Feb 17, 2025
Apr 30, 2025
Apr 30, 2025
Feb 17, 2025
Feb 17, 2025
Feb 17, 2025
Feb 17, 2025

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