CodeTogether is a realtime collaborative code editor.
Follow these steps to install and run CodeTogether locally:
- Clone the repository:
$ git clone "https://github.com/cu-csci-4253-datacenter-fall-2024/finalproject-team-99.git"
$ cd finalproject-team-99
- Build the project:
$ make all
- Deploy the application:
$ ./deployment.sh
- 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
- Access the application: Code Editor: https://localhost:8080 Prometheus: https://localhost:9090 Grafana: https://localhost:8081
- 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.
- Indu Varshini Jayapal - InduVarshini
- Renita Blessina - RenitaBlessina
- Subashree Dinesh - Subashree1503
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 |