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

refactor: migrate mediasoup WebRTC server from JavaScript to TypeScript #29

Merged
merged 14 commits into from
Jan 15, 2025

Conversation

gabrielmatau79
Copy link
Collaborator

This project is a complete refactor of a WebRTC server built on Mediasoup, migrating from a previous JavaScript implementation to a robust and structured TypeScript application using the NestJS framework. From the ground up, the architecture was adapted to TypeScript standards, ensuring type safety, improved maintainability, and overall better code quality.

Modularized the project into well-defined components, such as the Rooms module, which handles the creation and management of rooms, and the WebSocket module, which integrates Protoo server for real-time communication. DTOs (Data Transfer Objects) were implemented to validate and type incoming data in controllers. Error handling was enhanced throughout the application, and all controllers were refactored to align with modern TypeScript patterns.

Swagger was integrated to automatically generate comprehensive API documentation, improving the developer experience and making the API easier to understand. We added Docker support for containerization, enabling seamless deployment.

@gabrielmatau79 gabrielmatau79 self-assigned this Dec 5, 2024
@gabrielmatau79 gabrielmatau79 changed the title refactor: Initial commit migrate mediasoup WebRTC server from JavaScript to TypeScript refactor: migrate mediasoup WebRTC server from JavaScript to TypeScript Dec 5, 2024
@gabrielmatau79 gabrielmatau79 marked this pull request as ready for review December 12, 2024 21:49
README.md Show resolved Hide resolved
dockerFile Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
src/app.module.ts Outdated Show resolved Hide resolved
src/lib/notification.service.ts Outdated Show resolved Hide resolved
src/rooms/dto/rooms.dto.ts Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
Dockerfile Show resolved Hide resolved
src/lib/Room.ts Show resolved Hide resolved
src/rooms/rooms.controller.spec.ts Show resolved Hide resolved
Copy link
Contributor

@genaris genaris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Time to test it in real deployments!

LICENSE Show resolved Hide resolved
@gabrielmatau79 gabrielmatau79 merged commit 11a455f into main Jan 15, 2025
1 check passed
@gabrielmatau79 gabrielmatau79 deleted the refactor/webrtc-server-ts branch January 15, 2025 16:04
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.

3 participants