Skip to content

InduVarshini/CodeTogether

 
 

Repository files navigation

CodeTogether-Synchronized-Coding-and-Collaboration-in-Real-Time

CodeTogether Logo

CodeTogether is a realtime collaborative code editor.

Table of Contents

  1. Setup
  2. Technologies Used
  3. Screenshots
  4. Team

Setup

Follow these steps to install and run CodeTogether locally:

  1. Clone the repository:
$ git clone "https://github.com/cu-csci-4253-datacenter-fall-2024/finalproject-team-99.git"
$ cd finalproject-team-99
  1. Build the project:
$ make all
  1. Deploy the application:
$ ./deployment.sh
  1. Port Forward the necessary services
kubectl port-forward svc/frontend 8080:80
kubectl port-forward svc/prometheus-kube-prometheus-prometheus 9090:9090
kubectl port-forward svc/prometheus-kube-prometheus-alertmanager 9093:9093
kubectl port-forward svc/prometheus-grafana 8081:80
  1. Access the application: Code Editor: https://localhost:8080 Prometheus: https://localhost:9090 Grafana: https://localhost:8081

Built with

  • ReactJS - A JavaScript library for building user interfaces
  • CodeMirror - CodeMirror is a versatile text editor implemented in JavaScript for the browser.
  • NodeJS - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • ExpressJS - Built on top of Node.js® to write APIs
  • Socket.io - Socket.IO enables real-time, bidirectional and event-based communication.
  • Redis - An in-memory data store managing session data and Pub/Sub for real-time updates.
  • Docker and Kubernetes - Tools for containerization and scalable orchestration of the application.
  • Prometheus and Grafana - Deployed through kube-prometheus-stack for monitoring system metrics.

Screenshots

Home Page

Output

Team

Service port numbers on kubernetes

Service Port TargetPort
frontend 80 80
api-gateway 3100 3100
socket-service 3200 3200
user-service 3300 3300
room-service 3400 3400
code-service 3500 3500
prometheus 9090 9090
grafana 8081 3000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 79.4%
  • Shell 10.3%
  • Dockerfile 4.7%
  • Makefile 4.2%
  • HTML 1.2%
  • CSS 0.2%