Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 <>
- Loading branch information