Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swanand01/collabcode
A collaborative, real-time, online coding environment for developers.
https://github.com/swanand01/collabcode
collaboration javascript realtime webrtc websocket
Last synced: 3 months ago
JSON representation
A collaborative, real-time, online coding environment for developers.
- Host: GitHub
- URL: https://github.com/swanand01/collabcode
- Owner: Swanand01
- Created: 2022-01-17T19:57:56.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T19:59:03.000Z (about 2 years ago)
- Last Synced: 2024-11-01T19:42:33.268Z (3 months ago)
- Topics: collaboration, javascript, realtime, webrtc, websocket
- Language: JavaScript
- Homepage: https://collabcode.onrender.com/
- Size: 813 KB
- Stars: 18
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# CollabCode
A collaborative, real-time, online coding environment for developers.
## Features
- Feature rich code editor
- The CollabCode code editor supports 7+ different languages, and comes with syntax highlighting and auto-complete.
- In browser compiler
- Compile or run your code in the browser using the high performance CollabCode compiler.
- Video and audio chat
- Chat with your fellow collaborators using the inbuilt video and audio chat.## Try it!
Try out CollabCode [here](https://collabcode.onrender.com/).
## Glimpse
![](https://raw.githubusercontent.com/Swanand01/CollabCode/master/public/glimpse.png)
## Tech
**Server:** NodeJS, ExpressJS, SocketIO.
**Client:** HTML, CSS, JS, ejs.
**CollabCode Editor**: [Codemirror](https://codemirror.net/) and [Firepad](https://firepad.io/).
**CollabCode Compiler**: [Piston](https://github.com/engineer-man/piston) API.
**Video and audio chat**: [Agora](https://www.agora.io/en/).
## Run locally
1. Clone the repository
`https://github.com/Swanand01/CollabCode.git`
2. Install dependencies
`npm install`
3. Create a Agora project. [Agora Docs](https://docs.agora.io/en/Agora%20Platform/get_appid_token?platform=Web).
4. Create a .env file in the root directory, and set the following constants:
`NODE_ENV = development`
`APP_ID = "YOUR_AGORA_APP_ID"`
`APP_CERTIFICATE = "YOUR_AGORA_APP_CERTIFICATE"`
5. Create a [Firebase](https://console.firebase.google.com/) project.
6. Create a Realtime database. Please make sure to select the location as US-Central.
7. In `room.js` , set the following constants:
`const FIREBASE_KEY = 'YOUR_FIREBASE_KEY';`
`const DB_URL = 'YOUR_FIREBASE_DB_URL';`
`const AGORA_APP_ID = "YOUR_AGORA_APP_ID";`
8. Run `npm run devStart` .