* Watch this episode

  In this video, we build on the frontend we set up earlier by adding functionality for making and answering WebRTC video calls. You will learn how to create peer-to-peer connections, handle ICE candidates, and seamlessly send and receive video streams between users.

  **Related content**

  For additional resources on learning Durable Objects with Cloudflare, refer to the following resources:

  * [Veet Github repository code](https://github.com/megaconfidence/veet)
  * [Cloudflare Durable Objects documentation](https://developers.cloudflare.com/durable-objects/)
  * [Cloudflare TURN service documentation](https://developers.cloudflare.com/realtime/turn/)
  * [CLI command for creating new Workers and Pages projects](https://developers.cloudflare.com/pages/get-started/c3/)
  * [Hopscotch.io for local WebSocket testing](https://hoppscotch.io/)
  * [Sign up for a Cloudflare account](https://dash.cloudflare.com/sign-up)

* Series overview

  [Watch Episode 1: Introduction to the series ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/introduction-to-series-1/)We present an overview of the series, discuss its underlying architecture, and access resources to set up the project locally.

  [Watch Episode 2: What are Durable Objects? ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/what-are-durable-objects-2/)We show how Durable Objects work and start building a video call app together.

  [Watch Episode 3: Create a serverless websocket 'backend' ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/serverless-websocket-backend-3/)We create a WebSocket backend using serverless technology, making the process simpler than ever before.

  [Watch Episode 4: Real-time messaging with WebSockets ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/real-time-messaging-with-websockets-4/)We learn how to route and broadcast incoming messages from WebSocket connections and implement error handling such as closed WebSocket connections.

  [Watch Episode 5: Build the app frontend and UI ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/build-the-app-frontend-5/)We configure the frontend starter code, connect to Durable Objects using a call room ID, and display a local video preview.

  [Watch Episode 6: Make and answer WebRTC calls ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/make-answer-webrtc-calls-6/)We expand the frontend functionality by adding functionality for making and answering WebRTC video calls.

  [Watch Episode 7: Deploy your video call app ](https://developers.cloudflare.com/learning-paths/durable-objects-course/series/deploy-your-video-call-app-7/)In this final episode, we configure the remaining functionalities. By the end, your app will be fully functional and ready for deployment.
