Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
cd2d5ea
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 9, 2024
06d9807
add deadline
github-classroom[bot] Sep 9, 2024
938b7dc
Commit Template Code
qiaoen17 Sep 18, 2024
b30e228
Make add-feature Single Page
RingoftheKing Sep 20, 2024
5539ed2
Merge pull request #3 from CS3219-AY2425S1/change-add-feature
qiaoen17 Sep 21, 2024
c4d6ba3
Add navigation bar and sidebar components
rayyan35p Sep 23, 2024
934843a
Add home page component
rayyan35p Sep 23, 2024
8f72324
Modify index route to render using home component
rayyan35p Sep 23, 2024
57af5b2
Make navbar sticky to top
rayyan35p Sep 23, 2024
1f690ce
Modify UI of home page to be similar to mockup
rayyan35p Sep 23, 2024
b688de7
Fix formatting
rayyan35p Sep 23, 2024
f15f1b7
Merge pull request #7 from rayyan35p/D2-TEMPLATE
qiaoen17 Sep 24, 2024
5a564e4
Unify frontend with backend key names
qiaoen17 Sep 24, 2024
0b25ac8
Resolve UpdateQn bug
qiaoen17 Sep 24, 2024
78af30f
Update Instructions
qiaoen17 Sep 24, 2024
8d41eb4
Add Delete confirmation modal
ketamethane Sep 24, 2024
9c169d8
Change MongoDB schema
qiaoen17 Sep 24, 2024
7906d93
split backline logic into separate files, rename api endpoints, add s…
qiaoen17 Sep 24, 2024
a2c01a1
Merge branch 'D2-TEMPLATE' into Update-API
qiaoen17 Sep 24, 2024
555b5c6
Merge pull request #8 from CS3219-AY2425S1/Update-API
ketamethane Sep 24, 2024
1ef688c
Update basic function of Edit button
yuxuanleong Sep 24, 2024
1a6f79c
Update Edit button FE for all complexity
yuxuanleong Sep 25, 2024
5973619
Solve edit category bug
yuxuanleong Sep 25, 2024
5c40507
Minor cleanup
yuxuanleong Sep 25, 2024
75f5eeb
Merge pull request #9 from CS3219-AY2425S1/edit-feature
ketamethane Sep 25, 2024
4fe4302
Add Validation checks for CreateQuestion
RingoftheKing Sep 25, 2024
1afb1fb
Remove unused imports and type inference
RingoftheKing Sep 25, 2024
2f7d8ba
Add FE error message
yuxuanleong Sep 25, 2024
6c0a0da
Add error message in Edit modal
yuxuanleong Sep 26, 2024
a2c7fab
Merge pull request #10 from CS3219-AY2425S1/change-add-feature
yuxuanleong Sep 26, 2024
4988c69
Add error message to Add modal
yuxuanleong Sep 26, 2024
b650706
Solve duplicate error message bug
yuxuanleong Sep 26, 2024
d488512
Add error message for unchecked complexity
yuxuanleong Sep 26, 2024
f89f7d2
Add comments to indicate duplicate key
yuxuanleong Sep 26, 2024
09e5525
Edit error message for unchecked radio buttons
yuxuanleong Sep 26, 2024
91212d7
Merge pull request #11 from CS3219-AY2425S1/edit-conduct-checks
RingoftheKing Sep 26, 2024
62e9e2c
Update ID column in frontend and backend
ketamethane Sep 26, 2024
98023aa
Merge pull request #12 from CS3219-AY2425S1/schema-changes
yuxuanleong Sep 27, 2024
878183b
Consolidate folders
qiaoen17 Sep 27, 2024
c688a7e
Update README.md
qiaoen17 Sep 27, 2024
02dc533
Delete TEMPLATE_README.txt
qiaoen17 Sep 27, 2024
5f58a69
Merge pull request #13 from CS3219-AY2425S1/consolidate-folders
yuxuanleong Sep 27, 2024
c64001f
Change folder structure
qiaoen17 Sep 27, 2024
72384ee
Merge pull request #15 from CS3219-AY2425S1/consolidate-folders
RingoftheKing Sep 27, 2024
5564c7c
Remove unused imports and variables
yuxuanleong Sep 27, 2024
b375ce0
Update UI
yuxuanleong Sep 27, 2024
0195363
Remove extra "Update" title for Edit modal
yuxuanleong Sep 27, 2024
9d41996
Increase bottom margin for Description field
yuxuanleong Sep 27, 2024
9f6f182
Reduce spaces between Title field and Modal Header
yuxuanleong Sep 27, 2024
8df25d8
Merge pull request #16 from CS3219-AY2425S1/reorder-form-fields
qiaoen17 Sep 27, 2024
896bedd
Merge pull request #17 from CS3219-AY2425S1/D2-TEMPLATE
yuxuanleong Sep 27, 2024
70657bd
Add in template user-service
RingoftheKing Sep 28, 2024
ea5836c
Update .gitignore file
qiaoen17 Sep 30, 2024
db13630
Update usermodel and gitignore
qiaoen17 Sep 30, 2024
c66a96e
Add docker files needed for containerization
rayyan35p Sep 30, 2024
0615eaa
Add Login and sign up FE and sign up FE
ketamethane Oct 1, 2024
6368983
add .env file to gitignore
qiaoen17 Oct 2, 2024
bc6c614
Add route not found and default message for QuestionService API
qiaoen17 Oct 2, 2024
94b9523
Change port for user service to 3002
qiaoen17 Oct 2, 2024
021ea95
Merge pull request #19 from CS3219-AY2425S1/sign-up
qiaoen17 Oct 2, 2024
6e0252d
Add Login logic
qiaoen17 Oct 2, 2024
d80b1ed
Add error message and border color change for login page frontend
qiaoen17 Oct 2, 2024
b421a35
Change border color change to be more targeted
qiaoen17 Oct 2, 2024
a766595
Apply InputField changes to Sign up page
qiaoen17 Oct 2, 2024
d914446
Fix add question bug and remove dead code
qiaoen17 Oct 2, 2024
c34e6f0
Add logout functionality and add back navigate functionality for crea…
qiaoen17 Oct 2, 2024
b03ba5d
Merge pull request #18 from rayyan35p/d3-containerize
RingoftheKing Oct 2, 2024
d55228d
Merge pull request #20 from CS3219-AY2425S1/login-frontend
RingoftheKing Oct 2, 2024
9b3f6be
Fix access without token issue
qiaoen17 Oct 3, 2024
bd9d61b
Use token verification to protect home page instead
qiaoen17 Oct 4, 2024
d779f5c
Merge pull request #22 from CS3219-AY2425S1/login-frontend
RingoftheKing Oct 4, 2024
3ece31f
Add User Dropdown
RingoftheKing Oct 5, 2024
cb3f31e
Create Basic EditProfile struct
RingoftheKing Oct 5, 2024
a9a028c
Merge pull request #24 from CS3219-AY2425S1/create-user-profile
qiaoen17 Oct 7, 2024
ac0f8e4
Set up basic file structure and add setup file for RabbitMQ
qiaoen17 Oct 9, 2024
fdd3116
Bind queues to dead letter exchange
qiaoen17 Oct 9, 2024
659d6e0
Remove email field
yuxuanleong Oct 10, 2024
26afae7
Add checks for username
yuxuanleong Oct 10, 2024
e936e31
Merge pull request #26 from CS3219-AY2425S1/set-up-d4
RingoftheKing Oct 10, 2024
618b1eb
Merge pull request #27 from CS3219-AY2425S1/edit-profile
RingoftheKing Oct 10, 2024
7ab2635
Merge remote-tracking branch 'origin/main' into user-service-frontend
RingoftheKing Oct 10, 2024
5460b7b
Merge branch 'main' into user-service-frontend
RingoftheKing Oct 10, 2024
66a1743
Merge remote-tracking branch 'origin/user-service-frontend' into user…
RingoftheKing Oct 10, 2024
e84cf61
Merge pull request #28 from CS3219-AY2425S1/user-service-frontend
qiaoen17 Oct 10, 2024
f88dfb4
Setup Producer and Subscriber logic
RingoftheKing Oct 11, 2024
4f133b3
Fix refactor misses
RingoftheKing Oct 11, 2024
fa3d6c9
Update consumer logic with timeOut
ketamethane Oct 13, 2024
c3dd6a8
Fix bug
yuxuanleong Oct 14, 2024
ba763ec
Merge pull request #30 from CS3219-AY2425S1/edit-profile-fix-bug
RingoftheKing Oct 15, 2024
b3c9236
Refactor code and include type use for websocket
ketamethane Oct 15, 2024
31ba28e
Merge pull request #29 from CS3219-AY2425S1/update-consumer-logic
yuxuanleong Oct 16, 2024
daeb389
Test implementation
yuxuanleong Oct 17, 2024
39cd92c
Update code
yuxuanleong Oct 17, 2024
9da1453
Revert rabbitmq related files to d4
yuxuanleong Oct 17, 2024
fc1cd03
Connect Frontend and Backend with WebSocket
yuxuanleong Oct 18, 2024
06e5bec
Fix Criteria-less match me
qiaoen17 Oct 18, 2024
1a083cb
Add CriteriaDisplay.jsx
qiaoen17 Oct 18, 2024
713d939
Update CriteriaDisplay.jsx
qiaoen17 Oct 18, 2024
02a3e61
Add functionality for "Match Me Again"
qiaoen17 Oct 18, 2024
1971ca4
Add MatchingService
RingoftheKing Oct 19, 2024
7e85576
Update docker files
qiaoen17 Oct 19, 2024
b0f62eb
Add Cancel Match logic
yuxuanleong Oct 20, 2024
011b606
Fix unacknowledged msg after cancelling match
yuxuanleong Oct 20, 2024
4d84d23
Merge pull request #33 from CS3219-AY2425S1/websocket-implementation
qiaoen17 Oct 20, 2024
d88dd8a
Merge pull request #34 from CS3219-AY2425S1/d4-make-producer-consumer…
yuxuanleong Oct 20, 2024
458ee97
Add Collab space routing
yuxuanleong Oct 21, 2024
3568eb4
Add Exit button for Collab Space
yuxuanleong Oct 22, 2024
bfd0734
Update QuestionService
qiaoen17 Oct 22, 2024
50652cb
Merge pull request #35 from CS3219-AY2425S1/shift-user-db
yuxuanleong Oct 22, 2024
b194c7b
Update QuestionService
qiaoen17 Oct 22, 2024
884f02b
Update Question DB collection name
ketamethane Oct 22, 2024
4b58753
Add base code for History Service
ketamethane Oct 22, 2024
4cfa15d
Update Backend for Collab Service
qiaoen17 Oct 23, 2024
760f507
Set up basic frontend
qiaoen17 Oct 23, 2024
0deef37
Add code run feature
qiaoen17 Oct 24, 2024
a28aff0
Fix connection error for code collaboration PORT 1234
qiaoen17 Oct 24, 2024
2fef691
Merge pull request #36 from CS3219-AY2425S1/collab-backend
RingoftheKing Oct 24, 2024
2f42211
Suggest new util function
RingoftheKing Oct 24, 2024
93d8401
Merge pull request #37 from CS3219-AY2425S1/add-generate-combi-util
yuxuanleong Oct 26, 2024
23e71e9
Add checks for user entering collab space
yuxuanleong Oct 27, 2024
f87011d
Update UI (minor)
yuxuanleong Oct 27, 2024
2e357fd
Change UI text
yuxuanleong Oct 27, 2024
46bf07e
Remove margin top gap for collaboration space
qiaoen17 Oct 27, 2024
21edd4c
Fix multiple cconnection bug
yuxuanleong Oct 27, 2024
b1327dc
Resolve conflict
yuxuanleong Oct 27, 2024
30401f4
Resolve conflict try 2
yuxuanleong Oct 27, 2024
48f4977
Dockerise CollabService
yuxuanleong Oct 27, 2024
f59f219
patch cross browser issue for code editor
qiaoen17 Oct 28, 2024
75e2610
Update docker compose files
qiaoen17 Oct 28, 2024
bc90b55
Merge pull request #43 from CS3219-AY2425S1/collab-space-patch
yuxuanleong Oct 28, 2024
e1a8828
Cherry-pick Chat features
RingoftheKing Oct 25, 2024
1c9410b
Update History Backend (incomplete)
ketamethane Oct 28, 2024
19fdfe5
Add history FE (not tested yet)
ketamethane Oct 28, 2024
e9f4627
Update Edit Profile Page to include profile sidebar
ketamethane Oct 28, 2024
cd860a7
Add API for topics
yuxuanleong Oct 29, 2024
2d887d4
Add base code for History Service
ketamethane Oct 22, 2024
39cd9e1
Update History Backend (incomplete)
ketamethane Oct 28, 2024
d2daab7
Add history FE (not tested yet)
ketamethane Oct 28, 2024
31c3f7c
Update Edit Profile Page to include profile sidebar
ketamethane Oct 28, 2024
2ffccdb
Set up Categories Collection and minor UI update CreateQn
yuxuanleong Oct 29, 2024
50e9dad
Update Sidebar UI to display categories
yuxuanleong Oct 29, 2024
98cf58a
Rename file
yuxuanleong Oct 29, 2024
d2c22fb
Merge pull request #45 from CS3219-AY2425S1/collab-space-security
yuxuanleong Oct 30, 2024
97ba790
Add join/leave notifications
qiaoen17 Nov 1, 2024
992ab6b
Update roomManger.js
qiaoen17 Nov 1, 2024
0f3e386
Add code running UI
qiaoen17 Nov 1, 2024
6d395d2
Add API to fetch qn by category
yuxuanleong Nov 1, 2024
22347d0
Update UI and rabbitmq
yuxuanleong Nov 1, 2024
b84c1d8
Synchronise Language Change
RingoftheKing Nov 1, 2024
af26a5e
Display question and categories in QuestionDisplay
yuxuanleong Nov 1, 2024
eaeab4d
Randomise question to display
yuxuanleong Nov 1, 2024
2ffa373
Minor changes
yuxuanleong Nov 1, 2024
ea9fc30
Merge pull request #46 from CS3219-AY2425S1/collab-space-notif
qiaoen17 Nov 2, 2024
563ceb5
Merge branch 'hist' of https://github.com/CS3219-AY2425S1/cs3219-ay24…
ketamethane Nov 3, 2024
d28cf29
Add base code for History Service
ketamethane Oct 22, 2024
2127ee3
Update History Backend (incomplete)
ketamethane Oct 28, 2024
45f1cb1
Add history FE (not tested yet)
ketamethane Oct 28, 2024
994deba
Update Edit Profile Page to include profile sidebar
ketamethane Oct 28, 2024
c88fafa
Add base code for History Service
ketamethane Oct 22, 2024
846a8f2
Update History Backend (incomplete)
ketamethane Oct 28, 2024
04f4972
Update navigation bar feature to go to home page
ketamethane Nov 3, 2024
568e767
Add getUserFromToken as a util func
ketamethane Nov 3, 2024
46fa287
Update hist model
ketamethane Nov 3, 2024
f9c1f87
Update history service and exitButton with dummy input
ketamethane Nov 3, 2024
9ff2805
Merge remote-tracking branch 'origin/hist' into hist
ketamethane Nov 3, 2024
4bff0d1
Fetch question in subscriber.js
yuxuanleong Nov 4, 2024
6434439
Display question selected in Matching service in Collab service
yuxuanleong Nov 4, 2024
4aa424b
Fetch categories from DB
yuxuanleong Nov 4, 2024
4017d96
Remove "Cancel Match" functionality
yuxuanleong Nov 4, 2024
7bc532a
Display qn complexity in collab space
yuxuanleong Nov 4, 2024
0207b5b
Fix bugs in subscriber.js
yuxuanleong Nov 4, 2024
99598fe
Update UI for EditQn (categories)
yuxuanleong Nov 4, 2024
e5d64ce
reinstate chat messages
RingoftheKing Nov 4, 2024
dc17f44
Update session startTime and duration
ketamethane Nov 4, 2024
d257eb0
update docker file
ketamethane Nov 4, 2024
898e328
Update package lock and duration format
ketamethane Nov 4, 2024
e990b68
Merge pull request #49 from CS3219-AY2425S1/improve-chat-interface
qiaoen17 Nov 5, 2024
f5a0050
frontend question auth
qiaoen17 Nov 4, 2024
780c6e9
Fix text alignment
qiaoen17 Nov 5, 2024
a07c15f
switch c++ to javascript
qiaoen17 Nov 5, 2024
e33c209
Make code output scrollable
qiaoen17 Nov 5, 2024
a10a0b7
Toggle output between red and black
qiaoen17 Nov 5, 2024
575d8b9
Patch Collab Space Notifs
qiaoen17 Nov 5, 2024
397908c
Make table sortable
rayyan35p Nov 5, 2024
3a6d724
add usernames, fix chat to bottom
RingoftheKing Nov 6, 2024
c99e300
Separate usernmae badge from chat box
RingoftheKing Nov 6, 2024
242866a
Merge pull request #50 from CS3219-AY2425S1/question-crud-auth-cherry
RingoftheKing Nov 6, 2024
e9ff6b4
Merge pull request #51 from CS3219-AY2425S1/improve-chat-interface
qiaoen17 Nov 6, 2024
0ecce13
Fetch Qn by category and complexity
yuxuanleong Nov 7, 2024
3b9f5e8
Delete category if no other questions have it (triggered when questio…
yuxuanleong Nov 7, 2024
c185cad
Add dependency on QuestionService to MatchingService
yuxuanleong Nov 7, 2024
5236990
Update URLs
yuxuanleong Nov 7, 2024
693b546
Update env to enable matching service to run locally and in docker
yuxuanleong Nov 7, 2024
679efbb
Resolve CollabSpace conflict
yuxuanleong Nov 7, 2024
fbb5dbc
Merge branch 'main' into topic-implementation
yuxuanleong Nov 7, 2024
6072ea2
Add import
yuxuanleong Nov 7, 2024
fbeb72e
Merge pull request #47 from CS3219-AY2425S1/topic-implementation
yuxuanleong Nov 7, 2024
ed4f532
Make CollabSpacce UI responsive
yuxuanleong Nov 8, 2024
8eb9e56
Update UI
yuxuanleong Nov 10, 2024
f917b19
Merge branch 'main' into hist
ketamethane Nov 10, 2024
2ec174b
Update History Schema to remove 'code'
ketamethane Nov 10, 2024
07e1513
Merge pull request #48 from CS3219-AY2425S1/hist
ketamethane Nov 10, 2024
43c26c8
Update history model
ketamethane Nov 10, 2024
5b050df
Merge pull request #53 from CS3219-AY2425S1/hist
ketamethane Nov 10, 2024
de8b7b7
Merge branch 'main' into Collab-UI
yuxuanleong Nov 10, 2024
5c814d5
Update UI AvatarBox dropdown
yuxuanleong Nov 10, 2024
418f2f5
Remove unused files
yuxuanleong Nov 10, 2024
76d0b55
Remove unused files reference
yuxuanleong Nov 10, 2024
0aacba6
Update timers (lenient matching and time out)
yuxuanleong Nov 10, 2024
684f254
Make CritiriaDisplay responsive
yuxuanleong Nov 10, 2024
ae6bdfe
Add History to docker-compose
yuxuanleong Nov 10, 2024
0020efd
Merge pull request #52 from CS3219-AY2425S1/Collab-UI
yuxuanleong Nov 10, 2024
591be72
Merge branch 'frontend-question-sort-branch'
rayyan35p Nov 11, 2024
8e97071
Modify UI for Edit Profile page and History page
rayyan35p Nov 11, 2024
ee596a5
Fix question table formatting and add button to see question details
rayyan35p Nov 11, 2024
3b9552d
Fix spelling
rayyan35p Nov 11, 2024
e8e6d21
Modify table to let admin users have show detail button
rayyan35p Nov 11, 2024
b85ab13
Merge pull request #57 from rayyan35p/main
yuxuanleong Nov 11, 2024
d825d36
Update UI
yuxuanleong Nov 11, 2024
ce309cd
Merge pull request #58 from CS3219-AY2425S1/multiline-ui-desc
yuxuanleong Nov 11, 2024
b78f706
Change difficulty to complexity
yuxuanleong Nov 11, 2024
a72b225
Update UI for sidebar
ketamethane Nov 12, 2024
1af3e7f
Fix bug to delete last category in EditQn
yuxuanleong Nov 12, 2024
e77ad2e
Minor UI touchup
yuxuanleong Nov 12, 2024
1f5783e
Prepare files for deployment
rayyan35p Nov 13, 2024
d62f13a
Merge branch 'main' of https://github.com/CS3219-AY2425S1/cs3219-ay24…
rayyan35p Nov 13, 2024
d3ab8cb
Reformat file structure
rayyan35p Nov 13, 2024
9d5ca66
Merge pull request #59 from CS3219-AY2425S1/sidebar
rayyan35p Nov 13, 2024
67824d9
Update frontend Dockerfile for deployment
rayyan35p Nov 13, 2024
29d89fd
Update question title save for history
ketamethane Nov 13, 2024
b3604de
Merge pull request #60 from CS3219-AY2425S1/collab-topic
ketamethane Nov 13, 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
33 changes: 33 additions & 0 deletions Backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
QuestionService/.env
user-service/.env
MatchingService/.env
HistoryService/.env
QuestionService/insert_questions_script.py

# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
QuestionService/node_modules
user-service/node_modules
MatchingService/node_modules
CollabService/node_modules
HistoryService/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
13 changes: 13 additions & 0 deletions Backend/CollabService/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 3004
EXPOSE 1234

CMD ["npm", "start"]
23 changes: 23 additions & 0 deletions Backend/CollabService/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const express = require('express');
const http = require('http');
const { setupWebSocket } = require('./websocket/roomManagerSocket');
const { setUpYjsSocket } = require('./websocket/collabSocket');
const app = express();

const server = http.createServer(app);

// Set up Yjs server
setUpYjsSocket();

// Set up WebSocket server and attach to HTTP server
setupWebSocket(server);


// Basic route to test the server
app.get('/', (req, res) => {
res.send('CollabService using Yjs is running');
});



module.exports = { server };
6 changes: 6 additions & 0 deletions Backend/CollabService/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
const { server } = require('./app')

// Change the port number to listen to a different port but remember to change the port number in frontend too!
server.listen(3004, () => {
console.log("Collab Service is Running on port 3004")
})
Loading