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 -

GitHub logo Rishabh-malhotraa / caucus

Realtime Collaborate Editor with Embedded Compiler

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

caucus

A Real Time Collaborative Editor with an embedded compiler
Explore the project »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
    • Built With
  2. Getting Started
    • Prerequisites
    • Installation
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project


Collaborative Code Editor

Product Name Screen Shot

Login Page Navigate Rooms Page
Product Name Screen Shot Product Name Screen Shot

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
    Enter fullscreen mode Exit fullscreen mode

Installation

  1. Clone the repo

    git clone https://github.com/Rishabh-malhotraa/caucus.git
    Enter fullscreen mode Exit fullscreen mode
  2. Install NPM packages

    npm install
    Enter fullscreen mode Exit fullscreen mode
  3. Start the react server

    npm run start
    Enter fullscreen mode Exit fullscreen mode
  4. Add Enviroment Variables

    REACT_APP_CLIENT_URL = https://localhost:3000
    REACT_APP_SERVER_URL = https://localhost:5000
    REACT_APP_CONVERGENCE_URL = https://localhost:8080 
    
  5. Download Docker Desktop and then download convergence omnibus from docker hub and then start the server

    docker pull convergencelabs/convergence-omnibus
    Enter fullscreen mode Exit fullscreen mode
View on GitHub

If you liked what the project, please consider leaving a star ⭐ on the GitHub repo it means a lot.

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐