Milestone 5 (#96)
* 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 <[email protected]>
* Revert "Ms5 jared/refactor matching (#102)" (#103)
This reverts commit ef073565295c5fce8957404961346d480c23cad1.
---------
Co-authored-by: Jajabonks <[email protected]>
* 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 <[email protected]>
Co-authored-by: jmsandiegoo <[email protected]>
Co-authored-by: Rick <[email protected]>
Co-authored-by: Jajabonks <[email protected]>
Co-authored-by: shavonneg <>