feat: add study rooms feature with BigBlueButton integration

- Create database migrations for study_rooms table in both cms-service and lms-service.
- Implement study room handlers in lms-service for listing, creating, joining, ending, and deleting study rooms.
- Develop frontend components for managing study rooms in both experience and studio applications.
- Add UI for creating new study rooms, displaying active and ended rooms, and joining sessions.
- Include instructions for configuring BigBlueButton server settings.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-27 14:04:06 -04:00
parent 7a2afce796
commit f4cddf7345
12 changed files with 1002 additions and 5 deletions
+19
View File
@@ -3,6 +3,7 @@ mod handlers;
mod handlers_announcements;
mod handlers_pedagogical;
mod handlers_lti_consumer;
mod handlers_study_rooms;
mod handlers_email;
mod handlers_scorm;
mod handlers_search;
@@ -218,6 +219,24 @@ async fn main() {
"/courses/{id}/lti-tools/{tool_id}/rotate-secret",
post(handlers_lti_consumer::rotate_lti_tool_secret),
)
// Salas de Estudio con BBB (Fase 38)
.route(
"/courses/{id}/study-rooms",
get(handlers_study_rooms::list_course_study_rooms)
.post(handlers_study_rooms::create_study_room),
)
.route(
"/courses/{id}/study-rooms/{room_id}/join",
post(handlers_study_rooms::join_study_room),
)
.route(
"/courses/{id}/study-rooms/{room_id}/end",
post(handlers_study_rooms::end_study_room),
)
.route(
"/courses/{id}/study-rooms/{room_id}",
delete(handlers_study_rooms::delete_study_room),
)
// Portafolio e insignias (Badges)
.route("/profile/{user_id}", get(portfolio::get_public_profile))
.route("/my/badges", get(portfolio::get_my_badges))