Coder Social home page Coder Social logo

codezens / peer-programming Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sagnikh/peer-programming

0.0 0.0 0.0 2.77 MB

Code. Chat. Collaborate. A collaborative code editor, for your mock interviews & coding assessments.

Home Page: https://peer-programming.netlify.app/

License: Apache License 2.0

JavaScript 90.48% CSS 7.70% HTML 1.82%

peer-programming's Introduction

A collaborative code editor, for your mock interviews & coding assessments


NOTE: Our app uses cookies to authorize users, please allow cookies to use our app

Motivation

We found it inconvenient, that for any mock interview we needed to have a gmeet, an editor and a question set open on multiple tabs for a single purpose. This lead us to the idea of an all in one solution for mock interviews.

Features

  • Collaborative editing
  • Video calling
  • Archiving one's progress
  • Secure login using Google Oauth2

Demo

Landing Page Google OAuth Authentication
Create and Share Sessions Code Editor and Video Calling

Dependencies(tech-stack)

Client-side Server-side
@monaco-editor/react: ^4.3.1 @googleapis/oauth2: ^0.2.0
@reduxjs/toolkit: ^1.6.2 automerge: ^1.0.1-preview.6
automerge: ^1.0.1-preview.6 cors: ^2.8.5
peerjs: ^1.3.2 dotenv: ^10.0.0
bootstrap: ^5.1.3 express: ^4.17.1
react-bootstrap: ^2.0.3 jsonwebtoken: ^8.5.1
react: ^17.0.2 cheerio: ^1.0.0-rc.10
react-router-dom: ^6.0.2 mongoose: ^6.0.13
react-redux: ^7.2.6 puppeteer: ^12.0.1
socket.io-client: ^4.4.0 socket.io: ^4.4.0
dotenv: ^10.0.0 cookie-parser: ^1.4.6

Prerequisites

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

CLIENT

SERVER

  • CLIENT_URL - http://localhost:3000
  • CLIENT_ID - Google Oauth2 Client ID credential
  • CLIENT_SECRET - Google Oauth2 Client Secret Key credential
  • CALLBACK_URL - Callback URL provided in Google Oauth2 credentials
  • MONGODB_URI - Connection String provided by Mongodb Atlas
  • JWT_PRIVATE_KEY - Private key for Jsonwebtoken encryption
  • PORT - 4000 (Port on which the server runs)

Run Locally

Clone the project

  git clone https://github.com/SagnikH/pair-programming.git

Install dependencies

  cd client/
  npm install
  cd server/
  npm install
  npm install -D

Start the server ( PORT: 4000 )

  npm run dev

Start the client ( PORT : 3000 )

  npm start

Future plans

  • Integrate language switching option
  • Sent invite links via social media platforms
  • Admin access control features
  • Online compiler

Contributors

Feedback

If you have any feedback, please reach out to us at [email protected]

License

Apache

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.