https://github.com/giridharrnair/codetogether
Online minimalistic collaborative code editor supporting multiple languages.
https://github.com/giridharrnair/codetogether
monaco-editor vitejs y-monaco y-webrtc yjs
Last synced: 23 days ago
JSON representation
Online minimalistic collaborative code editor supporting multiple languages.
- Host: GitHub
- URL: https://github.com/giridharrnair/codetogether
- Owner: GiridharRNair
- License: mit
- Created: 2023-06-12T20:00:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-26T18:52:17.000Z (2 months ago)
- Last Synced: 2025-03-27T14:52:44.602Z (about 1 month ago)
- Topics: monaco-editor, vitejs, y-monaco, y-webrtc, yjs
- Language: JavaScript
- Homepage: https://codetogether.tech/
- Size: 314 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CodeTogether
This minimalistic collaborative code editor is developed using React, Monaco Editor, Yjs, and Tailwind CSS. It enables real-time collaboration, allowing multiple users to work together on the same code simultaneously. Yjs ensures seamless synchronization of edits, while the Monaco Editor offers a powerful code editing experience. Additionally, Tailwind CSS enhances the user interface, providing a modern and responsive design for an enhanced user experience.
## Environment Variables
To run this project, you will need to add the following environment variables to an .env file. These variables will allow you to use the [JDoodle compiler](https://rapidapi.com/judge0-official/api/judge0-ce) and sync the code to all connected users using [Y-Webrtc](https://github.com/yjs/y-webrtc).
`VITE_RAPID_API_HOST`=online-code-compiler.p.rapidapi.com
`VITE_RAPID_API_KEY`={Your API Compiler key from RapidAPI}
`VITE_RAPID_API_URL`=https://online-code-compiler.p.rapidapi.com/v1/
`VITE_BACKEND_URL`=wss://y-webrtc-signaling-eu.herokuapp.com/
If the back-end URL doesn't work, you can deploy your own [Y-Webrtc](https://github.com/yjs/y-webrtc) server.
## Run Locally
Clone the project
```bash
git clone https://github.com/SyntaxWarrior30/CodeTogether.git
```Go to the project directory
```bash
cd CodeTogether
```Install dependencies
```bash
npm install
```Start the development server
```bash
npm run dev
```## Credits
This project utilizes the following open-source technologies:
[Yjs](https://github.com/yjs/yjs): A real-time collaboration framework that enables shared editing of documents in a distributed environment.
[Y-Monaco](https://github.com/yjs/y-monaco): An integration between Yjs and the Monaco Editor, providing real-time collaboration capabilities within the Monaco Editor. It allows multiple users to work together on the same code simultaneously.
[Y-Webrtc](https://github.com/yjs/y-webrtc): A backend server for Yjs that leverages WebRTC technology to enable real-time collaboration between multiple users.
## License
[MIT](https://choosealicense.com/licenses/mit/)
Feel free to contribute to this project by submitting issues or pull requests.