Skip to content

Commit d2c22fb

Browse files
authored
Merge pull request #45 from CS3219-AY2425S1/collab-space-security
Add D5 Collab Service
2 parents 50652cb + e1a8828 commit d2c22fb

29 files changed

+2947
-31
lines changed

Backend/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ QuestionService/insert_questions_script.py
99
QuestionService/node_modules
1010
user-service/node_modules
1111
MatchingService/node_modules
12+
CollabService/node_modules
1213
/.pnp
1314
.pnp.js
1415

Backend/CollabService/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM node:20
2+
3+
WORKDIR /app
4+
5+
COPY package*.json ./
6+
RUN npm install
7+
8+
COPY . .
9+
10+
EXPOSE 3004
11+
EXPOSE 1234
12+
13+
CMD ["npm", "start"]

Backend/CollabService/app.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const express = require('express');
2+
const http = require('http');
3+
const { setupWebSocket } = require('./websocket/roomManagerSocket');
4+
const { setUpYjsSocket } = require('./websocket/collabSocket');
5+
const app = express();
6+
7+
const server = http.createServer(app);
8+
9+
// Set up Yjs server
10+
setUpYjsSocket();
11+
12+
// Set up WebSocket server and attach to HTTP server
13+
setupWebSocket(server);
14+
15+
16+
// Basic route to test the server
17+
app.get('/', (req, res) => {
18+
res.send('CollabService using Yjs is running');
19+
});
20+
21+
22+
23+
module.exports = { server };

Backend/CollabService/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const { server } = require('./app')
2+
3+
// Change the port number to listen to a different port but remember to change the port number in frontend too!
4+
server.listen(3004, () => {
5+
console.log("Collab Service is Running on port 3004")
6+
})

0 commit comments

Comments
 (0)