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 280 commits into
base: feedback
Choose a base branch
from
Open

Feedback #1

wants to merge 280 commits into from

Conversation

github-classroom[bot]
Copy link

@github-classroom github-classroom bot commented Sep 2, 2024

👋! GitHub Classroom created this pull request as a place for your teacher to leave feedback on your work. It will update automatically. Don’t close or merge this pull request, unless you’re instructed to do so by your teacher.
In this pull request, your teacher can leave comments and feedback on your code. Click the Subscribe button to be notified if that happens.
Click the Files changed or Commits tab to see all of the changes pushed to main since the assignment started. Your teacher can see this too.

Notes for teachers

Use this PR to leave feedback. Here are some tips:

  • Click the Files changed tab to see all of the changes pushed to main since the assignment started. To leave comments on specific lines of code, put your cursor over a line of code and click the blue + (plus sign). To learn more about comments, read “Commenting on a pull request”.
  • Click the Commits tab to see the commits pushed to main. Click a commit to see specific changes.
  • If you turned on autograding, then click the Checks tab to see the results.
  • This page is an overview. It shows commits, line comments, and general comments. You can leave a general comment below.
    For more information about this pull request, read “Leaving assignment feedback in GitHub”.

Subscribed: @Jajared @shavonneg @evanyan13 @jmsandiegoo @rickkoh

jmsandiegoo and others added 30 commits October 1, 2024 13:46
* Remove dependencies not required for ms3

* Complete swagger docs

* Implement RBAC

* Add remove admin role endpoint
shavonneg and others added 30 commits October 19, 2024 21:27
* Add base code for collaboration service

* Added additional services for collaboration and code improvements

* Add matching history

* Refactor matching logic

---------

Co-authored-by: Evan Yan <103996156+evanyan13@users.noreply.github.com>
* Add base code for collaboration service

* Added additional services for collaboration and code improvements

* Add basic collab page with resizeable panels

* Add collab-test page component for real-time collaboration

* Add capturing of selection in onInputCapture function

* Add matching history

* Integrate ide in collaboration page

* Fix lint errors for collaboration page

* Add server.js for Socket.io and YJS integration

* Basic collab editor function done

* Remove unecessary dep in useCallback

* Add monaco editor and y-websocket dependencies

* Add MonacoEditor component for collaborative code editing

* Add cursor indicators for collaboration ide

* Add dracula theme for monaco ide

* Collab-test (to be removed)

* Add todo

* Add subscribe button

* Refactor async function to fetch and display question (temp)

* Add CollaborativeEditor and InjectableCursorStyles components

* Get user and add todo

* Refactor matching logic (#104)

* Implement y-websocket and host it as a separate gateway (#101)

* Refactor code structure for collab to maintain consistency

* Adding a new yjs ws gateway

* Update merge error

* Attempt to create yjs gateway

* Remove yjs in nestjs

* Implement y-websocket as service

* Ms5 jared/refactor matching (#102)

* Add base code for collaboration service

* Added additional services for collaboration and code improvements

* Add matching history

* Refactor matching logic

---------

Co-authored-by: Evan Yan <103996156+evanyan13@users.noreply.github.com>

* Revert "Ms5 jared/refactor matching (#102)" (#103)

This reverts commit ef07356.

---------

Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>

* Add new features and update layout in collaboration page

* Improve error handling for question creation/editing

* Update UI components in Chatbox and DescriptionTabContent

* Add y-utility package dependency

* Add useYjsStore custom hook for syncing with Yjs store

* Update CollaborativeWhiteboard to use our own yjs backend

* Refactor cursor styles and WebSocket connection in Editor

* Fix build errors

* Update default socket URLs in collaborative editor and whiteboard components

* Add cursorColors.ts with array of colors and getRandomColor() function

* Use random color for the cursors

* Implement get collab session (#105)

* Implement get collab session

* Remove unused schema

* Check session status before returning session details

* Patch: Connect collab message with gateway

* Add get question by ID endpoint

* Fix get question by id endpoint

* Reorder setupWSConnection to fix sync issues

* Update collaboration page to fetch session info before rendering

* Refactor code for passing sessionId to editor components

* Create SessionInfo schema for storing session details

* Add getSessionInfo function to collaborationService

* Add redirect user to collaboration page

* Setup y-mongo db provider (#106)

* Patch import error
:

* fix get question by id endpoint

* Update CreateQuestionModal.tsx with quill editor

* Update EditQuestionModal.tsx to include quill functionalities

* Update DescriptionTabContent.tsx to display updated description format

* Update pages to display correct question for collab session

* Add QuestionSchema parsing and update DescriptionTabContent

* Quill (#109)

* Update CreateQuestionModal.tsx with quill editor

* Update EditQuestionModal.tsx to include quill functionalities

* Update DescriptionTabContent.tsx to display updated description format

* Update pages to display correct question for collab session

* Add QuestionSchema parsing and update DescriptionTabContent

---------

Co-authored-by: shavonneg <>

* Fix build errors and eslint errors

* Remove test server file

* Remove duplicate QuestionTabPanel component

* Add env file to fe

---------

Co-authored-by: Jajared <jajawong09@gmail.com>
Co-authored-by: jmsandiegoo <jmsandiego0710@gmail.com>
Co-authored-by: Rick <rick.kohjiaxuan@gmail.com>
Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>
Co-authored-by: shavonneg <>
* Initialise CI workflow

* Add CI for both repos
* Initialise CI workflow

* Fix CI pipeline
* Initialise CI workflow

* Amend CI workflow

* Fix linting and add backend CI workflow
* Add base code for collaboration service

* Added additional services for collaboration and code improvements

* Add basic collab page with resizeable panels

* Add collab-test page component for real-time collaboration

* Add capturing of selection in onInputCapture function

* Add matching history

* Integrate ide in collaboration page

* Fix lint errors for collaboration page

* Add server.js for Socket.io and YJS integration

* Basic collab editor function done

* Remove unecessary dep in useCallback

* Add monaco editor and y-websocket dependencies

* Add MonacoEditor component for collaborative code editing

* Add cursor indicators for collaboration ide

* Add dracula theme for monaco ide

* Collab-test (to be removed)

* Add todo

* Add subscribe button

* Refactor async function to fetch and display question (temp)

* Add CollaborativeEditor and InjectableCursorStyles components

* Get user and add todo

* Refactor matching logic (#104)

* Implement y-websocket and host it as a separate gateway (#101)

* Refactor code structure for collab to maintain consistency

* Adding a new yjs ws gateway

* Update merge error

* Attempt to create yjs gateway

* Remove yjs in nestjs

* Implement y-websocket as service

* Ms5 jared/refactor matching (#102)

* Add base code for collaboration service

* Added additional services for collaboration and code improvements

* Add matching history

* Refactor matching logic

---------

Co-authored-by: Evan Yan <103996156+evanyan13@users.noreply.github.com>

* Revert "Ms5 jared/refactor matching (#102)" (#103)

This reverts commit ef07356.

---------

Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>

* Add new features and update layout in collaboration page

* Improve error handling for question creation/editing

* Update UI components in Chatbox and DescriptionTabContent

* Add y-utility package dependency

* Add useYjsStore custom hook for syncing with Yjs store

* Update CollaborativeWhiteboard to use our own yjs backend

* Refactor cursor styles and WebSocket connection in Editor

* Fix build errors

* Update default socket URLs in collaborative editor and whiteboard components

* Add cursorColors.ts with array of colors and getRandomColor() function

* Use random color for the cursors

* Implement get collab session (#105)

* Implement get collab session

* Remove unused schema

* Check session status before returning session details

* Patch: Connect collab message with gateway

* Add get question by ID endpoint

* Fix get question by id endpoint

* Reorder setupWSConnection to fix sync issues

* Update collaboration page to fetch session info before rendering

* Refactor code for passing sessionId to editor components

* Create SessionInfo schema for storing session details

* Add getSessionInfo function to collaborationService

* Add redirect user to collaboration page

* Setup y-mongo db provider (#106)

* Patch import error
:

* fix get question by id endpoint

* Update CreateQuestionModal.tsx with quill editor

* Update EditQuestionModal.tsx to include quill functionalities

* Update DescriptionTabContent.tsx to display updated description format

* Update pages to display correct question for collab session

* Add QuestionSchema parsing and update DescriptionTabContent

* Quill (#109)

* Update CreateQuestionModal.tsx with quill editor

* Update EditQuestionModal.tsx to include quill functionalities

* Update DescriptionTabContent.tsx to display updated description format

* Update pages to display correct question for collab session

* Add QuestionSchema parsing and update DescriptionTabContent

---------

Co-authored-by: shavonneg <>

* Fix build errors and eslint errors

* Remove test server file

* Remove duplicate QuestionTabPanel component

* Refactor collaboration frontend and add additional endpoints for code review

* Integrate code review

* Remove unnecessary changes

* Resolve conflicts

* Resolve extra linting

* Add syntax highlighting and markdown support in code review (#111)

* Refactor to use animation context to persist code review (#112)

* Refactor code to use context

* Add code execution service

* Update default language to Python in CollaborativeEditor

* Update

* Standardise result object

* Fix prettier errors

* Add test case field to question schema and service

* Add user collab history endpoint

* Add update question test cases functionality

* Add update question test cases endpoint

* Update

* Add executionTime

* Add functionality to manage test cases in questions

* Implement collab-service websocket in gateway

* Implement test cases tab to display actual test cases

* Improve UI

* Change theme to use cloudsMidnight

* Temp test result tab content

* Collaboration socket integration draft

* Add 'submit' functionality for code execution and testing

* Implement basic chat

* Update backend collab socket to handle chat

* Chat feature now shows profile details

* Chat feature now persists profile details even if not in session

* Add question feature and test result submission handling

* Update TestResultDto and CollaborationGateway for code execution

* Chat now persisted via redis

* Polish chat ui to auto scroll

* Update CollaborativeEditor and TabPanel components styling

* Remove unnecessary console log statements in CollaborationGateway

* Fix build errors

* MS6 DevOps: Cloud Deployment using K8s (#115)

* Push image up aws cloud

* Attempt to bring up question service

* Update Dockerfile for k8

* Setup local k8 deployment

* Revert "Setup local k8 deployment"

This reverts commit 95c6775.

* Reapply "Setup local k8 deployment"

This reverts commit a7fef30.

* Update config

* Remove non essential yml

* Deployed to GKE

* Initialise CI workflow (#117)

* Initialise ci (#118)

* Initialise CI workflow

* Add CI for both repos

* Fix ci (#119)

* Initialise CI workflow

* Fix CI pipeline

* Add ci (#120)

* Initialise CI workflow

* Amend CI workflow

* Fix linting and add backend CI workflow

* Reconfigure for local dev

* Update deployment options

---------

Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>

* MS6 Code Execution, P2P Chat, Session History (#122)

* Merged with ms6-rick/code-execution

* Refactor code-runner to use sourceFileName for Java class

* Fix toast position issue and remove recharts

* Change avatar in find match modal to use displayName

* Update input file name with random number suffix

* Implement change language functionality

* Implement change language functionality

* Add join session error handling

* Fix lint issues

* Add session history schemas and types

* Add user session history retrieval function

* Add functionality to rejoin active collaboration sessions

* Add handling of session ending in collaboration service

* Implement end session functionality

* Implement rejoin and end session

* Change source file name to Solution

---------

Co-authored-by: jmsandiegoo <jmsandiego0710@gmail.com>

* Update Backend CICD Github Action (#123)

* Push image up aws cloud

* Attempt to bring up question service

* Update Dockerfile for k8

* Setup local k8 deployment

* Revert "Setup local k8 deployment"

This reverts commit 95c6775.

* Reapply "Setup local k8 deployment"

This reverts commit a7fef30.

* Update config

* Remove non essential yml

* Deployed to GKE

* Initialise CI workflow (#117)

* Initialise ci (#118)

* Initialise CI workflow

* Add CI for both repos

* Fix ci (#119)

* Initialise CI workflow

* Fix CI pipeline

* Add ci (#120)

* Initialise CI workflow

* Amend CI workflow

* Fix linting and add backend CI workflow

* Reconfigure for local dev

* Update deployment options

* Update backend cd workflow

* Update syntax

* Update backend ci action version

---------

Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>

---------

Co-authored-by: Jajared <jajawong09@gmail.com>
Co-authored-by: jmsandiegoo <jmsandiego0710@gmail.com>
Co-authored-by: Rick <rick.kohjiaxuan@gmail.com>
Co-authored-by: Jajabonks <84561814+Jajared@users.noreply.github.com>
Co-authored-by: shavonneg <>
* Fix Backend CI checks

* Update backend cicd workflow
* Fix Backend CI checks

* Update backend cicd workflow

* Install ESlint in github action
* Fix Backend CI checks

* Update backend cicd workflow

* Install ESlint in github action

* Install ESLint for Github Action

* Configure BE CICD
Handle errors for token parsing in auth.ts and services
* Fix Backend CI checks

* Update backend cicd workflow

* Install ESlint in github action

* Install ESLint for Github Action

* Configure BE CICD

* Remove global eslint

* Remove unneccessary checks

* Update deployment config
* Install ESLint for Github Action

* Fix issue connecting to yjs from fe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants