I have a project requirements to develop a Microsoft teams clone app in react js and node js .I have learned the basics of both react and node but when coming to project planning i am confused. I don’t know where to start and how to start this kind of application(unlike normal CRUD). As an initial stage I need to develop a screen share functionality, create, and join room functionality. I am confused where the node here.I am having certain check list which i have to use in this project.
react Js- for front end Node js- server communication, screen sharing, room creation etc.
Kurento and STUN/TURN servers i don’t know how to use Kurento/STUN/TURN servers and when to use.
Facing difficulties to find a project using this.Can anyone help me to understand how can i start? what all are the steps ?when to impliment these servers etc?
I need a help how to start here and want to understand when and where and how I can implement those servers.Couldnt find any sample app also.Any guidence will be helpfull
Tuhin PaulPosted Feb 25, 2023, 3:07 PM
Hi Sujeet,
The API endpoints you will need to create will depend on the specific requirements of your app. However, some common API endpoints you might need to create for a Microsoft Teams clone app with room creation and joining functionalities could include:
You will need to decide on the specific data you want to send and receive for each endpoint.
In terms of whether to start with Node.js or React, you will need to start with both as they serve different purposes. React is a JavaScript library for building user interfaces, while Node.js is a server-side runtime environment for executing JavaScript code. You will need to use Node.js to create the backend server and handle the server-side communication, room creation, and user management. You will also need to use React to create the frontend interface and handle the user interactions.
To connect to Kurento and STUN/TURN servers, you can use the Kurento JavaScript Client API and WebRTC APIs. The Kurento JavaScript Client API provides a set of JavaScript functions that you can use to interact with Kurento Media Server. The WebRTC APIs provide a set of JavaScript functions that you can use to establish WebRTC connections and manage media streams.
You can find code samples and tutorials for using Kurento, STUN/TURN servers, and WebRTC on their respective websites and documentation pages. Additionally, there are many open-source projects and repositories on platforms like GitHub that provide code samples and examples for building real-time communication apps with WebRTC, Kurento, and STUN/TURN servers.
Sujeet RamanPosted Feb 25, 2023, 12:21 PM
what kind of API end points we need to create here?
we need to start with node js or react? as most of the part coming from node js we need to start a node js app first?
how can i get some code sample to connect kurento/stun servers? or how we use this in our code?
Tuhin PaulPosted Feb 24, 2023, 12:23 PM
Hi Sujeet,
I am trying to give you a high-level overview of how you could go about building a Microsoft Teams clone app with screen sharing, room creation, and joining functionalities using React.js, Node.js, Kurento, STUN/TURN servers.
1. Set up the basic structure of your app using React.js. You can start with a simple boilerplate or create-react-app.
2. Create a backend server using Node.js to handle the server-side communication, room creation, and user management. You can use a popular framework like Express.js for this.
3. Use a signaling server (like Socket.io) to establish a real-time communication channel between the frontend and the backend. This will be used for sending and receiving data between clients.
4. To enable screen sharing, you will need to integrate Kurento Media Server into your application. Kurento is an open-source WebRTC media server that provides advanced media processing capabilities. You can use it to implement features like screen sharing, video recording, and real-time video processing. You will need to set up Kurento on your backend server and create a WebRTC connection between the frontend and Kurento.
5. Use STUN and TURN servers to enable peer-to-peer communication. STUN servers help to establish the connection between peers and TURN servers act as a relay if direct peer-to-peer communication is not possible. You can use a STUN/TURN server like Coturn or Twilio.
6. Implement room creation and joining functionalities using your backend server. You can use a database like MongoDB or PostgreSQL to store room and user data.
7. Finally, test your app to ensure that all the functionalities are working as expected. You can use tools like Postman to test the API endpoints and WebRTC testing tools like testRTC to test the video/audio quality and connectivity.
This is a high-level overview of the steps involved in building a Microsoft Teams clone app with screen sharing, room creation, and joining functionalities. However, building such an app can be a complex process, and you will need to have a solid understanding of WebRTC, Kurento, STUN/TURN servers, and other technologies involved.