Skip to content

Commit af68728

Browse files
committed
merge
1 parent 7b5e880 commit af68728

37 files changed

+1464
-1071
lines changed

.github/workflows/test.yml

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,29 @@ jobs:
2929
QUESTION_SERVICE_URL: ${{ vars.QUESTION_SERVICE_URL }}
3030
USER_SERVICE_URL: ${{ vars.USER_SERVICE_URL }}
3131
MATCHING_SERVICE_URL: ${{ vars.MATCHING_SERVICE_URL }}
32+
HISTORY_SERVICE_URL: ${{ vars.HISTORY_SERVICE_URL }}
33+
SIGNALLING_SERVICE_URL: ${{ vars.SIGNALLING_SERVICE_URL }}
3234
JWT_SECRET: ${{ secrets.JWT_SECRET }}
33-
FIREBASE_CREDENTIAL_PATH: ${{ vars.QUESTION_SERVICE_FIREBASE_CREDENTIAL_PATH }}
35+
QUESTION_FIREBASE_CREDENTIAL_PATH: ${{ vars.QUESTION_SERVICE_FIREBASE_CREDENTIAL_PATH }}
36+
HISTORY_FIREBASE_CREDENTIAL_PATH: ${{ vars.HISTORY_SERVICE_FIREBASE_CREDENTIAL_PATH }}
3437
DB_CLOUD_URI: ${{ secrets.USER_SERVICE_DB_CLOUD_URI }}
3538
USER_SERVICE_PORT: ${{ vars.USER_SERVICE_PORT }}
3639
MATCHING_SERVICE_PORT: ${{ vars.MATCHING_SERVICE_PORT }}
40+
HISTORY_SERVICE_PORT: ${{ vars.HISTORY_SERVICE_PORT }}
41+
SIGNALLING_SERVICE_PORT: ${{ vars.SIGNALLING_SERVICE_PORT }}
3742
MATCHING_SERVICE_TIMEOUT: ${{ vars.MATCHING_SERVICE_TIMEOUT }}
3843
REDIS_URL: ${{ vars.REDIS_URL }}
44+
QUESTION_SERVICE_GRPC_URL: ${{ vars.QUESTION_SERVICE_GPRC_URL }}
3945
run: |
4046
cd ./apps/frontend
4147
echo "NEXT_PUBLIC_QUESTION_SERVICE_URL=$QUESTION_SERVICE_URL" >> .env
4248
echo "NEXT_PUBLIC_USER_SERVICE_URL=$USER_SERVICE_URL" >> .env
4349
echo "NEXT_PUBLIC_MATCHING_SERVICE_URL=$MATCHING_SERVICE_URL" >> .env
50+
echo "NEXT_PUBLIC_HISTORY_SERVICE_URL=$HISTORY_SERVICE_URL" >> .env
51+
echo "NEXT_PUBLIC_SIGNALLING_SERVICE_URL=$SIGNALLING_SERVICE_URL" >> .env
4452
4553
cd ../question-service
46-
echo "FIREBASE_CREDENTIAL_PATH=$FIREBASE_CREDENTIAL_PATH" >> .env
54+
echo "FIREBASE_CREDENTIAL_PATH=$QUESTION_FIREBASE_CREDENTIAL_PATH" >> .env
4755
echo "JWT_SECRET=$JWT_SECRET" >> .env
4856
4957
cd ../user-service
@@ -56,14 +64,27 @@ jobs:
5664
echo "MATCH_TIMEOUT=$MATCHING_SERVICE_TIMEOUT" >> .env
5765
echo "JWT_SECRET=$JWT_SECRET" >> .env
5866
echo "REDIS_URL=$REDIS_URL" >> .env
67+
echo "QUESTION_SERVICE_GRPC_URL=$QUESTION_SERVICE_GRPC_URL" >> .env
68+
69+
cd ../history-service
70+
echo "FIREBASE_CREDENTIAL_PATH=$HISTORY_FIREBASE_CREDENTIAL_PATH" >> .env
71+
echo "PORT=$HISTORY_SERVICE_PORT" >> .env
72+
73+
cd ../signalling-service
74+
echo "PORT=$SIGNALLING_SERVICE_PORT" >> .env
5975
6076
- name: Create Database Credential Files
6177
env:
62-
FIREBASE_JSON: ${{ secrets.QUESTION_SERVICE_FIREBASE_CREDENTIAL }}
63-
FIREBASE_CREDENTIAL_PATH: ${{ vars.QUESTION_SERVICE_FIREBASE_CREDENTIAL_PATH }}
78+
QUESTION_FIREBASE_JSON: ${{ secrets.QUESTION_SERVICE_FIREBASE_CREDENTIAL }}
79+
QUESTION_FIREBASE_CREDENTIAL_PATH: ${{ vars.QUESTION_SERVICE_FIREBASE_CREDENTIAL_PATH }}
80+
HISTORY_FIREBASE_JSON: ${{ secrets.HISTORY_SERVICE_FIREBASE_CREDENTIAL }}
81+
HISTORY_FIREBASE_CREDENTIAL_PATH: ${{ vars.HISTORY_SERVICE_FIREBASE_CREDENTIAL_PATH }}
6482
run: |
6583
cd ./apps/question-service
66-
echo "$FIREBASE_JSON" > "./$FIREBASE_CREDENTIAL_PATH"
84+
echo "$QUESTION_FIREBASE_JSON" > "./$QUESTION_FIREBASE_CREDENTIAL_PATH"
85+
86+
cd ../history-service
87+
echo "$HISTORY_FIREBASE_JSON" > "./$HISTORY_FIREBASE_CREDENTIAL_PATH"
6788
6889
- name: Build and Run Services
6990
run: |
@@ -85,19 +106,28 @@ jobs:
85106
USER_SERVICE_URL: ${{ vars.USER_SERVICE_URL }}
86107
QUESTION_SERVICE_URL: ${{ vars.QUESTION_SERVICE_URL }}
87108
MATCHING_SERVICE_URL: ${{ vars.MATCHING_SERVICE_URL }}
109+
HISTORY_SERVICE_URL: ${{ vars.HISTORY_SERVICE_URL }}
110+
SIGNALLING_SERVICE_URL: ${{ vars.SIGNALLING_SERVICE_URL }}
88111
run: |
89112
echo "Testing Question Service..."
90113
curl -sSL -o /dev/null $QUESTION_SERVICE_URL && echo "Question Service is up"
91114
echo "Testing User Service..."
92115
curl -fsSL -o /dev/null $USER_SERVICE_URL && echo "User Service is up"
93116
echo "Testing Frontend..."
94117
curl -fsSL -o /dev/null $FRONTEND_URL && echo "Frontend is up"
118+
echo "Testing History Service..."
119+
curl -fsSL -o /dev/null $HISTORY_SERVICE_URL && echo "History Service is up"
95120
echo "Testing Matching Service..."
96121
if ! (echo "Hello" | websocat $MATCHING_SERVICE_URL); then
97122
echo "WebSocket for Matching Service is not live"
98123
else
99124
echo "WebSocket for Matching Service is live"
100125
fi
101126
# Add in test for matching service in the future
102-
127+
echo "Testing Signalling Service..."
128+
if ! (echo "Hello" | websocat $SIGNALLING_SERVICE_URL); then
129+
echo "WebSocket for Signalling Service is not live"
130+
else
131+
echo "WebSocket for Signalling Service is live"
132+
fi
103133
# We can add more tests here

apps/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Once running, you can access:
5656

5757
- The **frontend** at http://localhost:3000
5858
- The **user service** at http://localhost:3001
59-
- The **question service** at http://localhost:8080
59+
- The **question service** at http://localhost:8080 (REST) and http://localhost:50051 (gRPC)
6060
- The **matching service** at http://localhost:8081
6161
- The **redis service** at http://localhost:6379
6262

apps/docker-compose.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ services:
1111
- ./frontend/.env
1212
volumes:
1313
- ./frontend:/frontend
14+
depends_on:
15+
- signalling-service
1416

1517
user-service:
1618
build:
@@ -31,6 +33,7 @@ services:
3133
dockerfile: Dockerfile
3234
ports:
3335
- 8080:8080
36+
- 50051:50051
3437
env_file:
3538
- ./question-service/.env
3639
networks:
@@ -53,6 +56,32 @@ services:
5356
depends_on:
5457
- redis
5558

59+
history-service:
60+
build:
61+
context: ./history-service
62+
dockerfile: Dockerfile
63+
ports:
64+
- 8082:8082
65+
env_file:
66+
- ./history-service/.env
67+
networks:
68+
- apps_network
69+
volumes:
70+
- ./history-service:/history-service
71+
72+
signalling-service:
73+
build:
74+
context: ./signalling-service
75+
dockerfile: Dockerfile
76+
ports:
77+
- 4444:4444
78+
env_file:
79+
- ./signalling-service/.env
80+
networks:
81+
- apps_network
82+
volumes:
83+
- ./signalling-service:/signalling-service
84+
5685
redis:
5786
image: redis:latest
5887
networks:

apps/frontend/.env.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# URL endpoints of the services
22
NEXT_PUBLIC_QUESTION_SERVICE_URL="http://localhost:8080/"
33
NEXT_PUBLIC_USER_SERVICE_URL="http://localhost:3001/"
4-
NEXT_PUBLIC_MATCHING_SERVICE_URL="ws://localhost:8081/match"
4+
NEXT_PUBLIC_MATCHING_SERVICE_URL="ws://localhost:8081/match"
5+
NEXT_PUBLIC_SIGNALLING_SERVICE_URL="ws://localhost:4444/"
6+
NEXT_PUBLIC_HISTORY_SERVICE_URL="http://localhost:8082/"

apps/frontend/package.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,27 @@
99
"lint": "next lint"
1010
},
1111
"dependencies": {
12-
"@ant-design/cssinjs": "^1.21.1",
1312
"@ant-design/icons": "^5.5.1",
1413
"@ant-design/nextjs-registry": "^1.0.1",
14+
"@codemirror/lang-cpp": "^6.0.2",
15+
"@codemirror/lang-go": "^6.0.1",
16+
"@codemirror/lang-java": "^6.0.1",
17+
"@codemirror/lang-javascript": "^6.2.2",
18+
"@codemirror/lang-python": "^6.1.6",
19+
"@codemirror/language": "^6.10.3",
20+
"@codemirror/state": "^6.4.1",
1521
"antd": "^5.20.6",
22+
"codemirror": "^6.0.1",
1623
"next": "14.2.13",
1724
"react": "^18.2.0",
1825
"react-dom": "^18.2.0",
1926
"react-timer-hook": "^3.0.7",
2027
"react-use-websocket": "^4.9.0",
2128
"sass": "^1.79.2",
22-
"typeface-montserrat": "^1.1.13"
29+
"typeface-montserrat": "^1.1.13",
30+
"y-codemirror.next": "^0.3.5",
31+
"y-webrtc": "^10.3.0",
32+
"yjs": "^13.6.20"
2333
},
2434
"devDependencies": {
2535
"@types/node": "^20",

0 commit comments

Comments
 (0)