Collaborative online code editor with remote code execution in various languages.
- You can write and run code in different programming languages without installing the required dependencies on your system.
- You can invite collaborators and observe real-time updates.
Select the language as javascript, and write some code. Hit run and observe the output.
console.log("hello world from remode code")
- Write some code, click on collaborate button to copy the URL. Paste it into a different browser/tab (it could also be a different device).
- Make changes in one browser and observe real-time changes in another.
- React.js and tailwindcss is used along with moncao-react-editor for the frontend.
- HTTP and WebSockets are used to communicate with the backend.
- Socket.io is used to sync the real-time changes along with the express.js HTTP server.
- MongoDB is used for eventual consistency and long-term saving of collaboration rooms and the code.
- The backend is containerized with Docker and deployed on render.com (Earlier it was deployed on AWS as ECS, but swithced to render for cost savings).
- Certificates and domain mapping are added for ALB to expose the HTTPS secure endpoint (this was part of AWS deployment, currently render is used with in-built LB and SSL support).
- The frontend is deployed on render.com on the custom domain: remotecode.anishgupta.me