Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 520 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
520 commits
Select commit Hold shift + click to select a range
53cbb83
Fix Question-page Sort button dropdown css
smolegz Oct 29, 2024
f545b6d
Add duplicate check to Update Question
smolegz Oct 29, 2024
f8238e7
Merge pull request #45 from CS3219-AY2425S1/ivan-D5
lynnetteeee Oct 29, 2024
51c9702
Code Collab
AidenLYT Oct 29, 2024
aee19b6
Code collab
AidenLYT Oct 30, 2024
afa6a0f
Add dynamic categories based on difficulty
Teeesa7 Oct 30, 2024
0061c23
Testing implem
kervyntan Oct 31, 2024
40068f8
Updated match making logic
kervyntan Oct 31, 2024
b7512c8
Update index.ts
kervyntan Oct 31, 2024
27b5c0c
Update index.ts
kervyntan Oct 31, 2024
4890fd8
Added condition for matching on same difficulty
kervyntan Oct 31, 2024
899431d
Update index.ts
kervyntan Oct 31, 2024
4ff7c26
Merge pull request #46 from CS3219-AY2425S1/dynamic-categories
smolegz Oct 31, 2024
2d95988
Add collab page
Teeesa7 Oct 31, 2024
1630ba2
Create collab service
lynnetteeee Oct 31, 2024
e290c00
Update match url in config
lynnetteeee Oct 31, 2024
5abc395
Merge remote-tracking branch 'origin/collab-page' into aiden_M5
AidenLYT Oct 31, 2024
018a713
Integrate with collab page
AidenLYT Oct 31, 2024
168d95e
Hardcode acceptMatch
AidenLYT Oct 31, 2024
ffb5c8e
Add git ignore
AidenLYT Oct 31, 2024
0f030eb
Fix question retrieval for sessionid based on difficulty and category
lynnetteeee Oct 31, 2024
2fc9073
Merge branch 'collab-page' into collab-svc-lynn
lynnetteeee Nov 1, 2024
7e4825d
Merge branch 'aiden_M5' into collab-svc-lynn
lynnetteeee Nov 1, 2024
c0f5099
Add collab.service to fe
lynnetteeee Nov 1, 2024
aed0c8b
Fix gitignore for code-websocket node_modules
lynnetteeee Nov 1, 2024
bad473f
Add username to types/index.ts
smolegz Nov 1, 2024
d068f8c
Add session id for matchedUsers, add MQ for collab
smolegz Nov 1, 2024
e9c7371
Remove console log
smolegz Nov 1, 2024
059e4d2
Fix rendering of qns in collab pg, support diff qns for diff sessionIds
lynnetteeee Nov 1, 2024
3b10156
Fix questions retrieval bug
lynnetteeee Nov 1, 2024
49546ef
Add consumer for collab svc
smolegz Nov 2, 2024
93f0e29
Merge branch 'collab-svc-lynn' of https://github.com/CS3219-AY2425S1/…
smolegz Nov 2, 2024
6a1f1ab
Merge branch 'collab-svc-lynn' of https://github.com/CS3219-AY2425S1/…
smolegz Nov 2, 2024
cab191d
Remove generic type
smolegz Nov 2, 2024
a2a5689
Minor fix
smolegz Nov 2, 2024
461ac65
Debug syncing issue
AidenLYT Nov 2, 2024
020905d
Sync code
AidenLYT Nov 2, 2024
944021a
Syntax highlighting
AidenLYT Nov 2, 2024
6c02b7b
Fix UI bugs
Teeesa7 Nov 2, 2024
42dc293
Merge pull request #48 from CS3219-AY2425S1/bug-fixes-Tresa
smolegz Nov 2, 2024
3544285
add gitignore
smolegz Nov 2, 2024
cc75e77
Revert "add gitignore"
smolegz Nov 2, 2024
da4058c
Merge branch 'main' of https://github.com/CS3219-AY2425S1/cs3219-ay24…
smolegz Nov 2, 2024
ccb363c
Integrate FE POST to Matching Service
lynnetteeee Nov 2, 2024
2a66463
Fix username display on match found using promise
lynnetteeee Nov 2, 2024
bddd08d
Clean up code, add TODO comments for edge cases in match-modal.compon…
lynnetteeee Nov 2, 2024
b501653
Added notification
AidenLYT Nov 2, 2024
7bfda58
Add notification
AidenLYT Nov 2, 2024
e8b18f9
Integrate Matching to Collab service (Generate qn, navigate to collab…
lynnetteeee Nov 2, 2024
6528495
Merge branch 'main' into collab-svc-lynn
lynnetteeee Nov 2, 2024
1f268b9
Merge branch 'aiden_codecollab' into collab-svc-lynn
lynnetteeee Nov 2, 2024
b5372e1
Integrate collab session with web editor sessioning
lynnetteeee Nov 2, 2024
155634e
Merge branch 'main' into kervyn/clone-message-queue
kervyntan Nov 3, 2024
6a81136
Update search-and-filter.component.css
kervyntan Nov 3, 2024
6735368
Merge branch 'kervyn/ui-fixes' into kervyn/clone-message-queue
kervyntan Nov 3, 2024
796f32c
Clean up matching service
kervyntan Nov 3, 2024
cec9dd3
Update index.ts
kervyntan Nov 3, 2024
fb56977
Merge pull request #49 from CS3219-AY2425S1/kervyn/clone-message-queue
smolegz Nov 3, 2024
a44703d
Dockerise websocket
AidenLYT Nov 3, 2024
b10d16d
Dockerise web-socket
AidenLYT Nov 3, 2024
89e6348
Pass ng test
AidenLYT Nov 3, 2024
82f2576
Fix question display bug
lynnetteeee Nov 3, 2024
f116934
Fix username ui on collab page
lynnetteeee Nov 3, 2024
27ff901
Fix editor notifications
lynnetteeee Nov 3, 2024
86677db
Merge branch 'kervyn/clone-message-queue' into collab-svc-lynn
lynnetteeee Nov 4, 2024
c8552ac
Fix overwritten dynamic categories from merge
lynnetteeee Nov 4, 2024
b0c6af7
Fix matching UI bug - default timer to be green (set timeout to true)
lynnetteeee Nov 4, 2024
4ce2089
Fix collab page ui
lynnetteeee Nov 4, 2024
438a559
Add session queue
smolegz Nov 4, 2024
ce4f419
Merge branch 'collab-svc-lynn' of https://github.com/CS3219-AY2425S1/…
smolegz Nov 4, 2024
951d5a5
Attempt to dockerize
lynnetteeee Nov 4, 2024
244cacb
Merge branch 'collab-svc-lynn' of https://github.com/CS3219-AY2425S1/…
lynnetteeee Nov 4, 2024
3a3c352
Remove 150k lines of code
AidenLYT Nov 4, 2024
4afd421
Fix styles.css error
lynnetteeee Nov 4, 2024
207a8c6
Attempt to fix frontend build fail CI
lynnetteeee Nov 4, 2024
fa2a073
Attempt to fix FE CI
lynnetteeee Nov 4, 2024
06baa8e
Attempt to fix FE CI
lynnetteeee Nov 4, 2024
1b8dc57
Merge pull request #47 from CS3219-AY2425S1/collab-svc-lynn
lynnetteeee Nov 4, 2024
4f11de3
Add profile page
smolegz Nov 5, 2024
2f50935
Created nginx.conf for question service
kervyntan Nov 5, 2024
ec4c02a
Update nginx.conf
kervyntan Nov 5, 2024
82592b5
Update
smolegz Nov 5, 2024
d304c82
Include matched user to database
smolegz Nov 5, 2024
e84abb0
Created Dockerfile for peer-prep-gateway, connected question, categor…
kervyntan Nov 5, 2024
9cc7998
Update nginx.conf
kervyntan Nov 5, 2024
6f66e5b
Delete test-docker-compose.yml
kervyntan Nov 5, 2024
663bfd3
Deploy question service
lynnetteeee Nov 5, 2024
9176e98
Deploy user service
lynnetteeee Nov 5, 2024
2e59976
Deploy matching service
lynnetteeee Nov 5, 2024
a8654fc
Deploy collab service
lynnetteeee Nov 5, 2024
5580eea
Deploy collab editor
lynnetteeee Nov 5, 2024
a9f71d4
Merge branch 'kervyn/api-gateway' into deployment-workings
lynnetteeee Nov 5, 2024
1a60477
Change port values to deploy api-gateway service
lynnetteeee Nov 5, 2024
a280248
Fix collab/websocket bug
lynnetteeee Nov 6, 2024
a625c99
Clean up comments for outdated code
lynnetteeee Nov 6, 2024
648ad60
Fix bug where userId is empty upon logging
smolegz Nov 6, 2024
b82f153
Merge pull request #50 from CS3219-AY2425S1/ivan-N2
lynnetteeee Nov 6, 2024
8600d9d
Update endpoints in fe to use api gateway
lynnetteeee Nov 6, 2024
ebb8702
Add script to deploy all microservices
lynnetteeee Nov 6, 2024
2e7c224
Merge branch 'fe-update-endpoints' into deployment-workings
lynnetteeee Nov 6, 2024
f06ef51
Merge branch 'main' into deployment-workings
lynnetteeee Nov 6, 2024
934a5c8
Fix bug
lynnetteeee Nov 6, 2024
21d1541
Fix NGINX configuration for CORS support
lynnetteeee Nov 6, 2024
d1d776a
Fix wss configuration for secure connection
lynnetteeee Nov 6, 2024
f474524
Add vercel to gitignore
lynnetteeee Nov 6, 2024
589b7be
Fix cors nonsense that actually wasn't even the problem
lynnetteeee Nov 6, 2024
131a1b1
Improve collab-user svc to fetch code
smolegz Nov 7, 2024
292326a
Fix BE CI
lynnetteeee Nov 7, 2024
af3459c
Add vercel configs
lynnetteeee Nov 7, 2024
bcc1f58
Merge branch 'production' into deployment-workings
lynnetteeee Nov 7, 2024
bb27f1f
Fix bug - make admin view scrollable
lynnetteeee Nov 7, 2024
feb1845
Merge pull request #51 from CS3219-AY2425S1/deployment-workings
smolegz Nov 7, 2024
5b19acd
Add chat feature
Teeesa7 Nov 7, 2024
96eb71b
Merge branch 'main' into nth-chat-tresa
Teeesa7 Nov 7, 2024
3a6290f
Merge pull request #53 from CS3219-AY2425S1/nth-chat-tresa
lynnetteeee Nov 7, 2024
cd3a1f7
Merge branch 'main' into deployment-workings
lynnetteeee Nov 7, 2024
75767ba
Deploy chat-websocket
lynnetteeee Nov 7, 2024
f22c2ca
Update BE deployment script
lynnetteeee Nov 7, 2024
34e1973
Add API endpoint to save code to Collab datastore, implement feature
smolegz Nov 7, 2024
7477ca5
Remove code
smolegz Nov 7, 2024
c6cd0c4
Merge branch 'main' into ivan-N2
smolegz Nov 7, 2024
4bfda4d
Fix spec.ts files
smolegz Nov 7, 2024
e14aec8
Merge branch 'ivan-N2' of https://github.com/CS3219-AY2425S1/cs3219-a…
smolegz Nov 7, 2024
2c67fe5
Set User-Container timezone to GMT +8
smolegz Nov 7, 2024
8fe1de0
Merge pull request #66 from CS3219-AY2425S1/ivan-N2
lynnetteeee Nov 8, 2024
3b41b68
Updated nginx.conf for chat
kervyntan Nov 8, 2024
0a27b9e
Merge branch 'main' into deployment-workings
lynnetteeee Nov 8, 2024
624f120
Merge branch 'kervyn/api-gateway' into deployment-workings
lynnetteeee Nov 8, 2024
b9ae02c
Added semaphores for editor
AidenLYT Nov 8, 2024
41e946e
Fix bug - FE routes for chat service
lynnetteeee Nov 8, 2024
5944ac7
Typo :'')
AidenLYT Nov 8, 2024
4fd48d4
Merge pull request #69 from CS3219-AY2425S1/aiden_semaphores
lynnetteeee Nov 8, 2024
9c84363
Merge branch 'main' into deployment-workings
lynnetteeee Nov 8, 2024
08dd9ad
Fix code editor bug on production
lynnetteeee Nov 8, 2024
a2c0e21
Logout bug fix
smolegz Nov 8, 2024
1382b2e
Revert "Logout bug fix"
smolegz Nov 8, 2024
7ed7741
Merge branch 'main' of https://github.com/CS3219-AY2425S1/cs3219-ay24…
smolegz Nov 8, 2024
c76d865
Fix logout bug
smolegz Nov 8, 2024
de55c22
Merge pull request #71 from CS3219-AY2425S1/deployment-workings
smolegz Nov 8, 2024
3696a1a
Merge pull request #52 from CS3219-AY2425S1/lynn-fixes
smolegz Nov 8, 2024
273eb6f
Merge pull request #72 from CS3219-AY2425S1/logout-bugfix
smolegz Nov 8, 2024
bb16b06
Merge branch 'main' into deployment-workings
lynnetteeee Nov 10, 2024
f1105ab
Add FE timer
AidenLYT Nov 11, 2024
a71d761
Accept timer
AidenLYT Nov 11, 2024
c80f542
WebSocket
AidenLYT Nov 11, 2024
2290749
WebSOcket
AidenLYT Nov 11, 2024
18cf53b
Change structure of Session schema
smolegz Nov 12, 2024
3ca3991
Merge pull request #78 from CS3219-AY2425S1/ivan-fixes
Teeesa7 Nov 12, 2024
2e70b4d
Bug fix
AidenLYT Nov 12, 2024
5402789
Update match history on routing to profile
smolegz Nov 12, 2024
8e9cd32
Tidy up collab
smolegz Nov 12, 2024
9dfda6d
Merge pull request #79 from CS3219-AY2425S1/ivan-fix
smolegz Nov 12, 2024
5ff935f
Update create-account.component.ts
kervyntan Nov 12, 2024
05b0085
Fix matching service previous name bug
kervyntan Nov 12, 2024
1e7b3ef
we all mvp
smolegz Nov 12, 2024
88ac94b
Remove profanity
smolegz Nov 12, 2024
b8a15be
Merge pull request #80 from CS3219-AY2425S1/kervyn/fix-matching-servi…
smolegz Nov 12, 2024
c135e0c
tuff
smolegz Nov 12, 2024
47230cf
Merge pull request #81 from CS3219-AY2425S1/ivan-fix
kervyntan Nov 12, 2024
a836251
Merge pull request #77 from CS3219-AY2425S1/Aiden_FE_Timer
kervyntan Nov 12, 2024
631b200
Merge branch 'main' into deployment-workings
lynnetteeee Nov 12, 2024
80a2625
Persist messages after refresh
Teeesa7 Nov 12, 2024
2ee9187
Merge branch 'main' into final-fixes-tresa
Teeesa7 Nov 12, 2024
1764e71
Merge branch 'main' into Aiden_Waiting_FRAGILE
kervyntan Nov 12, 2024
95d99fc
Update yml and added Dockerfile
kervyntan Nov 12, 2024
9f32830
Fix production link profile page
lynnetteeee Nov 12, 2024
ebc6ce0
Update nginx.conf
kervyntan Nov 12, 2024
61c5d10
Refactor folder, update FE and BE for match websocket deployment
lynnetteeee Nov 12, 2024
764fec4
Merge branch 'main' into Aiden_Waiting_FRAGILE
lynnetteeee Nov 12, 2024
96aabb3
Merge pull request #82 from CS3219-AY2425S1/final-fixes-tresa
lynnetteeee Nov 12, 2024
4f50c31
Merge pull request #83 from CS3219-AY2425S1/Aiden_Waiting_FRAGILE
smolegz Nov 12, 2024
31d53f3
Add name
AidenLYT Nov 12, 2024
2aac82c
Edit Websocket
AidenLYT Nov 12, 2024
33e1b67
Edit WebSocket
AidenLYT Nov 12, 2024
e294a1f
Edit Websocket
AidenLYT Nov 12, 2024
75a807e
Merge branch 'main' into Aiden_Code_Editor
AidenLYT Nov 12, 2024
f605c23
Merge conflict
AidenLYT Nov 12, 2024
4e410ba
Return function
AidenLYT Nov 12, 2024
059ca05
Fix accept to collab
lynnetteeee Nov 12, 2024
a0e1d25
Merge nonsense
lynnetteeee Nov 12, 2024
5a5a729
Merge branch 'main' into lynn-fixes
lynnetteeee Nov 12, 2024
47b1296
Fix
lynnetteeee Nov 12, 2024
eb0b2fa
Merge pull request #88 from CS3219-AY2425S1/lynn-fixes
lynnetteeee Nov 12, 2024
3cf7e1c
Merge branch 'main' into Aiden_Code_Editor
AidenLYT Nov 12, 2024
f9f7741
Edit webSocket URI
AidenLYT Nov 13, 2024
4897dad
Fix profile page scroll
lynnetteeee Nov 13, 2024
004e5db
Fix questions list scroll
lynnetteeee Nov 13, 2024
66dadf4
Fix Bit Manipulation color
lynnetteeee Nov 13, 2024
a265d83
Add keyboard gesture to search
lynnetteeee Nov 13, 2024
3e653b9
Enhance questions search - dynamic with input field
lynnetteeee Nov 13, 2024
f0774c2
Merge pull request #92 from CS3219-AY2425S1/lynn-final-fixes
AidenLYT Nov 13, 2024
798acde
Merge pull request #87 from CS3219-AY2425S1/Aiden_Code_Editor
lynnetteeee Nov 13, 2024
6fafd55
Fix question search bar - flex boxes and minor stylings
lynnetteeee Nov 13, 2024
a16216f
Format question description in View Question box
lynnetteeee Nov 13, 2024
e0df1d1
Fix question description scroll in View Questions
lynnetteeee Nov 13, 2024
b907e4b
Remove unused code
lynnetteeee Nov 13, 2024
c32f45e
Remove accessibility to question-list if not logged in
smolegz Nov 13, 2024
cb96b87
Merge pull request #94 from CS3219-AY2425S1/lynn-final-fixes
smolegz Nov 13, 2024
7e3b006
Fix loading of messages
Teeesa7 Nov 13, 2024
37d714e
Add loading spinner when logging in
smolegz Nov 13, 2024
e3b68af
Fix
smolegz Nov 13, 2024
56fea34
Fix ui for add and edit modal
Teeesa7 Nov 13, 2024
e749b07
Merge branch 'main' into final-fixes-tresa
Teeesa7 Nov 13, 2024
7cea4cb
Fixed bug where ChangeStream threw error when one user times out
kervyntan Nov 13, 2024
853968f
Merge pull request #96 from CS3219-AY2425S1/ivan-fix
lynnetteeee Nov 13, 2024
079d24a
Merge pull request #97 from CS3219-AY2425S1/final-fixes-tresa
lynnetteeee Nov 13, 2024
5c14e7d
Added API to allow user to cancel match request
kervyntan Nov 13, 2024
a40b8b0
Merge pull request #98 from CS3219-AY2425S1/kervyn/abort-match
lynnetteeee Nov 13, 2024
434cbae
Fix when user clicks back button, users are navigated back to matching.
smolegz Nov 13, 2024
fbe13e5
Remove console logs
smolegz Nov 13, 2024
f940807
Merge pull request #99 from CS3219-AY2425S1/ivan-fix
kervyntan Nov 13, 2024
2e6a482
Deployment fix - chat service
lynnetteeee Nov 13, 2024
41ab49f
Merge branch 'main' into deployment-workings
lynnetteeee Nov 13, 2024
9fe872b
Merge pull request #100 from CS3219-AY2425S1/deployment-workings
lynnetteeee Nov 13, 2024
6e0c9b3
Fix question history deployment
lynnetteeee Nov 13, 2024
18a9aa0
Accept timer message bug fix
lynnetteeee Nov 13, 2024
dda63ab
Update app.component.html
kervyntan Nov 13, 2024
1e216cc
Merge pull request #102 from CS3219-AY2425S1/kervyn/ivans-fix
kervyntan Nov 13, 2024
0c24098
Update repository.js
kervyntan Nov 13, 2024
b9180d6
Merge pull request #101 from CS3219-AY2425S1/deployment-workings
lynnetteeee Nov 13, 2024
bc767b3
Merge branch 'main' into lynn-final-fixes
lynnetteeee Nov 13, 2024
eb6bb84
Fix landing page error
Teeesa7 Nov 13, 2024
c2dc480
Add heartbeat to keep websocket alive
AidenLYT Nov 13, 2024
5fd9a71
Syntax spacing
AidenLYT Nov 13, 2024
09f699e
Merge pull request #103 from CS3219-AY2425S1/kervyn/ivans-fix
kervyntan Nov 13, 2024
d34f751
Fix margin
lynnetteeee Nov 13, 2024
a25f748
Remove unused code
lynnetteeee Nov 13, 2024
35ed6c1
Merge pull request #104 from CS3219-AY2425S1/final-fixes-tresa
lynnetteeee Nov 13, 2024
989b4db
Question search bar fix
lynnetteeee Nov 13, 2024
1ec7f22
Merge branch 'main' into kervyn/ivans-fix
lynnetteeee Nov 13, 2024
c795a9d
Updated duplication validation in Create and Update question
kervyntan Nov 13, 2024
4922752
Merge pull request #108 from CS3219-AY2425S1/kervyn/question-duplicate
smolegz Nov 13, 2024
20df7c7
Merge pull request #107 from CS3219-AY2425S1/kervyn/ivans-fix
smolegz Nov 13, 2024
c53dd2c
Fix add/edit modal
lynnetteeee Nov 13, 2024
753afc0
Merge pull request #105 from CS3219-AY2425S1/Aiden_back
smolegz Nov 13, 2024
fbaa2e0
Merge pull request #106 from CS3219-AY2425S1/lynn-final-fixes
smolegz Nov 13, 2024
a530151
Merge branch 'main' into kervyn/ivans-fix
lynnetteeee Nov 13, 2024
9e27b2b
Fix loading spinner if user types in wrong password
smolegz Nov 13, 2024
860cde4
Question Dup
AidenLYT Nov 13, 2024
3f18483
Check for category
AidenLYT Nov 13, 2024
9fd0418
Merge pull request #109 from CS3219-AY2425S1/kervyn/ivans-fix
lynnetteeee Nov 13, 2024
8ba9411
Add README.md
lynnetteeee Nov 13, 2024
5720f71
Update README.md
lynnetteeee Nov 13, 2024
ce1ea45
Format code
lynnetteeee Nov 13, 2024
6ec4fa1
Update README.md
lynnetteeee Nov 13, 2024
b78263a
Remove comments
lynnetteeee Nov 13, 2024
ddbd3de
Change error messages
AidenLYT Nov 14, 2024
4cb281f
Edit error message
AidenLYT Nov 14, 2024
8671185
Merge pull request #110 from CS3219-AY2425S1/aiden-question-fixes
lynnetteeee Nov 14, 2024
f497699
Bug fix
lynnetteeee Nov 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: CI/CD Pipeline
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build-frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./peer-prep-fe/
strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
cache-dependency-path: "./peer-prep-fe/package-lock.json"
- name: Install dependencies
run: npm install
- name: Build frontend
run: npm run build --if-present
- name: Run tests
run: npm test -- --watch=false --browsers=ChromeHeadless
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{vars.DOCKER_USERNAME}}
password: ${{secrets.DOCKERHUB_TOKEN}}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./peer-prep-fe
file: ./peer-prep-fe/Dockerfile
platforms: linux/arm64, linux/amd64
push: true
tags: ${{vars.DOCKER_USERNAME}}/${{github.event.repository.name}}:latest

build-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23
# - name: Build backend using Docker
# run: |
# cd peer-prep-be
# docker build -t peer-prep-backend:latest .
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{vars.DOCKER_USERNAME}}
password: ${{secrets.DOCKERHUB_TOKEN}}
# - name: Push Docker image
# run: docker push peer-prep-backend:latest
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./peer-prep-be
file: ./peer-prep-be/Dockerfile
platforms: linux/arm64, linux/amd64
push: true
tags: ${{vars.DOCKER_USERNAME}}/${{github.event.repository.name}}:latest
# - name: Test backend
# run: |
# cd peer-prep-be
# go test -v ./main
# deploy:
# needs: [build-frontend, build-backend]
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Deploy Application
# run: ./deploy.sh
build-mq:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./message-queue/
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{vars.DOCKER_USERNAME}}
password: ${{secrets.DOCKERHUB_TOKEN}}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./message-queue
file: ./message-queue/Dockerfile
platforms: linux/arm64, linux/amd64
push: true
tags: ${{vars.DOCKER_USERNAME}}/${{github.event.repository.name}}:latest
Empty file added .gitignore
Empty file.
5 changes: 5 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/cs3219-ay2425s1-project-g01.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/jsLibraryMappings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"endOfLine": "lf",
"semi": false,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "none",
"bracketSameLine": true,
"printWidth": 120,
"importOrder": [
"^(react/(.*)$)|^(react$)",
"^(next/(.*)$)|^(next$)",
"<THIRD_PARTY_MODULES>",
"",
"^types$",
"^@/types/(.*)$",
"^@/config/(.*)$",
"^@/lib/(.*)$",
"^@/hooks/(.*)$",
"^@/components/ui/(.*)$",
"^@/components/(.*)$",
"^@/styles/(.*)$",
"^@/app/(.*)$",
"",
"^[./]"
],
"importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"],
"plugins": [
"@ianvs/prettier-plugin-sort-imports",
"prettier-plugin-tailwindcss"
]
}
89 changes: 84 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,86 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/bzPrOe11)

# CS3219 Project (PeerPrep) - AY2425S1
## Group: Gxx

### Note:
- You can choose to develop individual microservices within separate folders within this repository **OR** use individual repositories (all public) for each microservice.
- In the latter scenario, you should enable sub-modules on this GitHub classroom repository to manage the development/deployment **AND** add your mentor to the individual repositories as a collaborator.
- The teaching team should be given access to the repositories as we may require viewing the history of the repository in case of any disputes or disagreements.
## Group: G01

### Production:
Deployed link: https://g01-peer-prep.vercel.app/

Admin account (if needed):
- email: `test@gmail.com`
- password: `123123`

### Local (How to test):

#### Setting up:
1. Clone [our repo](https://github.com/CS3219-AY2425S1/cs3219-ay2425s1-project-g01.git) on your preferred IDE
2. Open 2 terminals on your IDE (One for Frontend, One for Backend)
3. Ensure you're on our latest commit on main branch
4. Create `.env` files in the following directories, and populate them respectively:

> [!NOTE]
> The following section is solely for official testing in CS3219.

> `peer-prep-be/`:
> ```
> MONGODB_URI=mongodb+srv://peer-prep:1EjJPR5eiyIwhIql@peer-prep-cluster0.ftsoh.mongodb.net/?retryWrites=true&w=majority&appName=peer-prep-cluster0
> PORT=8080
> ```
> `message-queue/`
> ```
> AMQP_SERVER=amqps://lguugvwb:UtQY1D0zOoX8s0ZvR4GunuRDk0xv8UuI@octopus.rmq3.cloudamqp.com/lguugvwb
> MONGODB_URI=mongodb+srv://peer-prep:1EjJPR5eiyIwhIql@peer-prep-cluster0.ftsoh.mongodb.net/?retryWrites=true&w=majority&appName=peer-prep-cluster0
> PORT=3002
> ```
> `peer-prep-collab/src/`:
> ```
> PORT=4003
> MATCHING_SERVICE_URL=http://localhost:3002
> QUESTIONS_SERVICE_URL=http://localhost:8080
> DB_CLOUD_URI=mongodb+srv://peer-prep:1EjJPR5eiyIwhIql@peer-prep-cluster0.ftsoh.mongodb.net/?retryWrites=true&w=majority&appName=peer-prep-cluster0
> ```
> `peer-prep-user/user-service/`
> ```
> ENV=PROD
> DB_CLOUD_URI=mongodb+srv://peer-prep:1EjJPR5eiyIwhIql@peer-prep-cluster0.ftsoh.mongodb.net/?retryWrites=true&w=majority&appName=peer-prep-cluster0
> JWT_SECRET=you-can-replace-this-with-your-own-secret
> ```

#### Spin up backend
Before proceeding to the following procedures, install Docker Desktop

Run the docker containers by entering the following command in the root directory:
```
docker compose -f docker-compose.yml up -d
```
> [!WARNING]
> Only one instance of containers should be running at any point in time.
> That is, let your other friends know that they need to close theirs if you're testing!

To close your containers, run the following command in the root directory:
```
docker compose -f docker-compose.yml down
```

#### Then, spin up the frontend
1. Install [Node](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
2. On your frontend terminal in the root folder (cs3219-ay2425s1-project-g01), navigate to the `peer-prep-fe` subfolder:
```
cd peer-prep-fe
```
3. Run the command `npm install` to install the required packages
```
npm install
```
4. Then, run the command `npm install -g @angular/cli`
```
npm install -g @angular/cli
```
5. Once done, run the command `ng serve` to start the local development server
```
ng serve
```
6. Once the following content appears in the terminal, the local development server has been successfully started
<img width="500" alt="image" src="https://github.com/user-attachments/assets/d92add4f-63fa-4456-a62a-c2fdbd2d864c">

8 changes: 8 additions & 0 deletions app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
runtime: nodejs16
env: standard
handlers:
- url: /
static_files: dist/peer-prep-fe/browser/index.html
upload: dist/peer-prep-fe/browser/index.html
- url: /
static_dir: dist/peer-prep-fe/browser
1 change: 1 addition & 0 deletions chat-websocket/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/node_modules
20 changes: 20 additions & 0 deletions chat-websocket/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Use a Node.js base image
FROM node:18

# Create and set the working directory
WORKDIR /app

# Copy package.json and package-lock.json to the working directory
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy the rest of the application files
COPY . .

# Expose the port the WebSocket server will run on
EXPOSE 8082

# Start the WebSocket server
CMD ["node", "server.js"]
36 changes: 36 additions & 0 deletions chat-websocket/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions chat-websocket/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "chat-websocket",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"ws": "^8.18.0"
}
}
Loading
Loading