-
Notifications
You must be signed in to change notification settings - Fork 2
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
[MIN-145] 画面共有機能の実装 #80
Comments
yuminn-k
added
⏰ P1
반드시 해결해야 하는 중요한 이슈나 문제 (예: 버그, 취약점 등)
✨ Feature
기능 개발
📬 API
서버 API 통신
labels
Mar 7, 2024
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 9, 2024
Implement the WebSocket logic for creating and joining live classes. This includes modifications in the controller and service layers to support real-time interactions in the live class environment. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 16, 2024
- Add new functions to start and stop screen sharing in LiveClassService. - Handle new API endpoints for starting and stopping screen sharing in LiveClassController. - Include WebRTC configuration for peer connection. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 16, 2024
- Document new endpoints for screen sharing feature. - Ensure accurate Swagger annotations for API parameters and responses. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 16, 2024
- Improve JWT parsing and validation logic to ensure robust security. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 16, 2024
…ring - Update Go modules to latest versions compatible with WebRTC. - Adjust Redis client initialization to handle new room management needs. Related issue: YJU-OKURA#80
Merged
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
…eanup Updated the LiveClassController to enhance readability and maintainability. Improved documentation comments across all methods and structures to align with Clean Code principles, ensuring each function's purpose and usage are clearly described. This update facilitates easier future modifications and better code comprehension. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Improved the Swagger documentation annotations for the LiveClass API endpoints. This update provides clearer API descriptions and parameter details, enhancing the developer experience and API usability through better generated documentation. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Refactored the liveClassService to incorporate more robust admin checks and streamline the peer connection setup process for starting and stopping screen shares. This refactor enhances security and improves the reliability of the screen sharing feature by ensuring only authorized users can control the session. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Updated various dependencies and performed general enhancements throughout the codebase. This includes minor bug fixes, performance improvements, and better resource management. These updates ensure the application remains reliable and efficient under new library versions. Related issue: YJU-OKURA#80
Merged
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Add a new API endpoint to allow users to view the screen sharing information. This includes updates to the LiveClassController and swagger documentation to reflect the new endpoint usage. Updated the service layer to handle the retrieval of screen sharing details. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Update the Swagger API documentation to include the new view screen share endpoint and clarify existing documentation around screen sharing processes. Ensure that all parameters and responses are accurately described. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Improve code formatting for better readability in the LiveClassService implementation. This includes better alignment of code blocks, consistent use of whitespace, and organizing imports. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 17, 2024
Refactor the LiveClassController to use predefined constants from the 'constants' package instead of raw integers for HTTP status codes. This change enhances code readability and maintainability by utilizing consistent references throughout the application. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 21, 2024
Adjusted the route parameters and setup in setupLiveClassRoutes to fix an issue where the screen sharing API was returning a 404 error. This ensures that the route correctly matches the intended handler functions. Related issue: YJU-OKURA#80
Merged
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 22, 2024
This commit introduces comprehensive updates to the live class screen sharing feature. It includes the creation, start, and stop handlers for screen sharing sessions within our live class environment. The commit also refactors existing code to improve stability and performance during screen sharing sessions. Changes include error handling enhancements and better state management for the WebRTC peer connections, ensuring robust session control. Additionally, the Swagger documentation has been updated to reflect the new API endpoints and their functionalities. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 22, 2024
Updated the Swagger API documentation to include the new endpoints and parameters introduced for managing screen sharing in live classes. This documentation now accurately reflects the endpoints for creating rooms, starting and stopping screen sharing, and joining screen shares, complete with necessary authentication details and expected responses for success or failure scenarios. This update ensures that API consumers have accurate and detailed information for integrating with our live class features. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 23, 2024
This commit introduces the screen sharing feature using the Pion WebRTC library. The implementation includes the setup of ICE servers, session management, and local track handling for broadcasting the screen. The code also integrates with existing server infrastructure, ensuring compatibility with the current signaling system. Related issue: YJU-OKURA#80
Merged
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 23, 2024
Refactored the WebRTC setup to support screen sharing via WebSocket. This includes the integration of the websocket package to manage live connections and broadcast messages effectively. The changes are focused on enhancing the screen share functionality in the application, ensuring smoother and more reliable performance during live sessions. Related issue: YJU-OKURA#80
Merged
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
This commit introduces improvements in the WebRTC configuration and session handling for robust screen sharing. Changes include the setup of new peer connections with updated SDP handling processes to enhance the performance and reliability of live screen sharing sessions. This update aims to provide smoother video transmission by refining the interceptor registration and session description handling mechanisms. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
Simplified the screen sharing initiation and information retrieval process by integrating direct API calls for stream management. The updates include: - Removed user ID dependency and adjusted the GetScreenShareInfo function to fetch screen share data directly using class ID, enhancing efficiency and reducing potential user errors. - Implemented StartStreamingSession to handle streaming URL generation through a centralized streaming service API, ensuring a more robust and maintainable stream initiation process. - Optimized SaveScreenShareInfo to uniformly handle screen sharing data storage with proper error handling and response structures, improving data integrity and error feedback. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
This commit replaces the existing WebSocket implementation with Socket.IO for better real-time communication capabilities and easier event handling. Adjustments include using Socket.IO's events like `connect`, `disconnect`, `offer`, `answer`, and `candidate` for streamlined processing of RTC signals. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
Refactor the main.go file to optimize socket and WebRTC integrations by simplifying and centralizing event handling and connection management. This update includes the consolidation of methods that handle socket events and the reduction of redundant code, enhancing maintainability and performance. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
Set up a new route in the Gin router to handle WebSocket connections using the existing handleConnections function. This allows for real-time communication features in the application. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
Refined the WebSocket and WebRTC integration for more robust message handling and updated the structure to accommodate new data types in the WebRTC signaling process. These changes aim to improve the clarity and maintainability of the code, as well as to ensure more reliable session descriptions and candidate information exchange. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
Apr 24, 2024
Updated the WebSocket error handling and improved WebRTC configuration to stabilize connections and enhance media transmission efficiency. Adjustments were made to ensure better error resilience and optimize ICE gathering process. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
May 4, 2024
- Added WebRTC logic to handle screen sharing functionality. - Implemented mechanisms for upgrading WebSocket connections and managing peer connections. - Set up handlers for dispatching keyframes, handling incoming tracks, and processing WebSocket messages. - Introduced screen sharing start and stop handlers to manage screen sharing sessions. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
May 4, 2024
Removed unused comment Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
May 5, 2024
Updated the Pion WebRTC library from v4.0.0-beta.17 to v4.0.0-beta.19. Performed module clean-up using `go mod tidy` to ensure project dependencies are streamlined. Related issue: YJU-OKURA#80
yuminn-k
added a commit
to yuminn-k/project_minori-gin-deployment-repo
that referenced
this issue
May 8, 2024
Added WebSocket and WebRTC integration to enable screen sharing functionality in the live class routes. This implementation ensures that only authenticated users can start and view screen shares, leveraging the existing WebSocket setup for real-time communication. Key frame dispatching, ICE candidate handling, and SDP negotiation are correctly managed to support robust screen sharing sessions. Related issue: YJU-OKURA#80
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
📝 Issueの概要
このIssueの目的は、WebRTCを使用してリアルタイムの画面共有機能を実装することです。主に設計と開発に焦点を当て、安定かつ効率的な画面共有システムの構築を目指します。
📚 背景情報
現在のプロジェクトでは、リモートワークやオンラインコラボレーションが増えているため、効率的な画面共有機能の需要が高まっています。WebRTCはリアルタイム通信に最適な技術であり、この機能の実装には欠かせません。
📋 具体的な作業内容
📎 関連するIssueやTrello、ドキュメント
🖼️ 参考スクリーンショットや図
(ここにスクリーンショットや図を追加)
🔄 Issueの進行状況
The text was updated successfully, but these errors were encountered: