CodeWing is a collaborative editor that allows several people to edit, view, compile a programming code simultaneously over a computer network. Users can edit the same code, run the code, can chat through the text box in real time.
This is our System Practicum (CS307) Group Project.
- App is Deploy on GitHub - CodeWing ;). But there is chance that chat, video and whiteboard heroku servers are not working now
- Source Code - prashant280920/CodeWing
- PPT - Link
- Presentation + Demo on Youtube
- Video Call Application: Multiple people can interact in a room to talk with each other.
- RealTime WhiteBoard: Diffrent people can interact to explain their thoughts on a whiteboard.
- RealTime Code Editor: Editor where different people write code in a room.
- Code Compilation and Download: Allow compilation of code, also download it.
- Chat Application: Allow differnt user to chat with each other in a room.
- We have used SvelteJS for frontend.
- To implement the Collaborating Text Editor we have used CodeMirror of Firepad.
- Chat, Video, and White board uses WebSocjet to connect with server.
- We have used four different server in NodeJS each of them hosted on Heroku
- White Board Server for implementing white board.
- Video Server for implementing Video application.
- Chat Server for implementing chat application.
- Peer Js PeerJS simplifies WebRTC peer-to-peer data, video, and audio calls
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Go ahead and fork the project.
To setup the environment first you have to run the four different servers loaclly. Lets get started
- Clone the repo -
https://github.com/salon280920/chat_server
- Install the dependencies...
cd chat_server
npm install
- Run -
npm start
. Server will run locally on port 3000.
- Clone the repo -
https://github.com/salon280920/wb_server
- Install the dependencies...
cd wb_server
npm install
- Run -
npm start
. Server will run locally on port 2000.
- Clone the repo -
https://github.com/salon280920/video_server
- Install the dependencies...
cd video_server
npm install
- Run -
npm start
. Server will run locally on port 4000. - Now to start the Peerjs Server. Open new terminal in the same video_server directory.
- Install Perrjs globally
npm install -g peerjs
- Start the peerjs server on port 3001 only. Note - Also make sure that you are conected to internet. Otherwise streaming on different tabs is not visible.
peerjs --port 3001
- If you face error like this then open Powershell as Administrator and run
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
or follow this link to resolve the error
- Fork the repo
- Clone the repo -
git clone https://github.com/prashant280920/CodeWing.git
- Install the dependencies...
cd CodeWing
npm install
- Start Rollup:
npm run dev
- Navigate to localhost:8080. You should see your app running. Edit a component file in
src
, save it, and reload the page to see your changes. - Note - Make sure that you are connected to internet. Otherwise realtime changes are not visible.
- Now copy the room link from browser tab and paste in new tab to see the real time changes in both tabs. Result will look linke image shown below. Also make sure