When I used to discuss data-structure and algorithm problems with a friend while in college (yea thank covid for closing all the colleges D:), it was a pain in the neck since both of us were coding on different computers and different code-editors, and more often than not resorted back to just using pen and paper.
I attempted to solve this problem by creating a real-time collaborative editor in which once you enter a room you just need to share the URL with a friend and he can join your room and both of you can collaborate together.
Technologies used:
- React for the front-end of caucus.
- NodeJS for the back-end of caucus.
- Postgresql database for storing and retrieving leetcode questions.
- socket.io for real-time communication.
- convergence for handling real-time collaboration.
- Heroku🤮(I hate Heroku) for hosting the nodejs server and Azure 🥰 for hosting the docker container.
Features
- Real-time collaboration for practicing for coding interviews
- All free leetcode questions to practice.
- You can also load any question from codeforces or atcoder by pasting the problem URL
- Real-time messaging.
- Remote code execution in 5 different languages (C++, Java, Python, Javascript and GO. Try it live: live demo
This project is available at GitHub -
Rishabh-malhotraa / caucus
Realtime Collaborate Editor with Embedded Compiler
caucus
A Real Time Collaborative Editor with an embedded compiler
Explore the project »
View Demo · Report Bug · Request Feature
Table of Contents
- About The Project
- Built With
- Getting Started
- Prerequisites
- Installation
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
About The Project
Collaborative Code Editor
Login Page | Navigate Rooms Page |
---|---|
![]() |
![]() |
Built With
- React
- Material UI
- ConvergenceLabs
Written in TypeScript
Getting Started
Follow the instructions to set up the project on your local machine.
Prerequisites
This is an example of how to list things you need to use the software and how to install them.
-
npm
npm install npm@latest -g
Installation
-
Clone the repo
git clone https://github.com/Rishabh-malhotraa/caucus.git
-
Install NPM packages
npm install
-
Start the react server
npm run start
-
Add Enviroment Variables
REACT_APP_CLIENT_URL = https://localhost:3000 REACT_APP_SERVER_URL = https://localhost:5000 REACT_APP_CONVERGENCE_URL = https://localhost:8080
-
Download Docker Desktop and then download convergence omnibus from docker hub and then start the server
docker pull convergencelabs/convergence-omnibus
If you liked what the project, please consider leaving a star ⭐ on the GitHub repo it means a lot.
所有评论(0)