- Multiple users can join a room and edit code together
- Changes are reflected in real time
- Copy button to copy the room id to clipboard
- Leave button to leave the room
- Supports syntax highlighting for different programming languages
- Users can choose theme based on their preferences
- Users can leave the room and rejoin later to continue editing
- Joining & leaving of users is also reflected in real time
- Docker (25.0.4)
- Docker Compose (1.29.2)
- React.js
- Node.js
- Express.js
- Socket.io
- CodeMirror
- React-Toastify
To run the app using docker, follow the steps below:
- Install Docker on your machine.
- Clone the project repository and Navigate to the project directory.
- Also you have to change ENV values in the Dockerfile
- Replace your username in docker-compose.yml file.
- Run the Docker Compose command:
docker-compose up -d
- Go to
http://localhost:3000
to view the app
- Clone this repository and cd into it
- Run
npm install
to install the dependencies - Create .env file in the root folder and copy paste the content of example.env, and add necessary credentials.
- To start the react app client run
npm start
in one terminal - To start the server run
npm server:dev
orpm2 start server.js
in another terminal - Go to
http://localhost:3000
to view the app
Note: To stop your server, press Ctrl+c
or if you used "pm2", then use pm2 stop server.js
in the terminal.