Coder Social home page Coder Social logo

svelte-call-object's Introduction

SvelteKit + Daily call object (custom) video call demo

This project demonstrates how to build a custom video call with Daily's custom call object mode using SvelteKit.

Note: This demo has not been optimized for large calls. Please review our large meeting guide for more information or contact us for help getting your app production-ready.

Demo home screen

Demo in-call view with one participant

---

Getting set up with Daily

To use this demo, you will need a Daily room to join. You can either add your Daily API to your local environment or you can manually create a room through the Daily dashboard.

In either case, you will first need to create a Daily account. Once you have an account and are logged into the Daily dashboard, do one of the following.

1. Add your Daily API key to your local environment

Clone this repo and rename env.example to .env.local

Add your Daily API key, which can be found on the Daily dashboard developers page. You will also need to add your Daily domain name, found in the top left corner of the dashboard.

VITE_DAILY_API_KEY=<-your-api-key->
VITE_DAILY_DOMAIN=<-your-daily-domain->

Next, follow the local development instructions below.

2. Manually creating a Daily room

Alternatively, you can create a new Daily room through the dashboard and enter the room URL in the app's form.

The room URL will be in the following format:

https://<your-daily-domain>.daily.co/<room-name>

Local development

After cloning this repo, run the following commands from the project's root directory.

npm i
npm run dev

Visit http://localhost:5173 to view the app locally.


Demo features

  • Creates new Daily rooms via the app UI
  • Accepts existing room URLs
  • Supports multi-participant video calls
  • Chat messaging
    • Chat messages are saved in currently saved in local state. Persistent chat history functionality can be added but is not currently included.
  • Local device controls
  • In-call screen sharing (max. 1 screen)

Daily API interactions

This demo uses the following Daily methods:

And the following Daily events:


Additional information from SvelteKit

Before creating a production version of your app, install an adapter for your target environment. Then:

npm run build

You can preview the built app with npm run preview, regardless of whether you installed an adapter. This should not be used to serve your app in production.

svelte-call-object's People

Contributors

itswadesh avatar jessmitch42 avatar markhorsell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

svelte-call-object's Issues

Project no longer runs

Error: Function called outside component initialization
at get_current_component (/node_modules/svelte/internal/index.mjs:940:15)
at Module.setContext (/node_modules/svelte/internal/index.mjs:970:5)
at eval (/.svelte-kit/generated/root.svelte:17:24)
at $$render (/node_modules/svelte/internal/index.mjs?v=f0ce49dc:1701:22)
at Object.render (/node_modules/svelte/internal/index.mjs?v=f0ce49dc:1709:26)
at render_response (file:///home/mark/Documents/projects/svelte-daily/.svelte-kit/runtime/server/index.js:1202:27)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async respond_with_error (file:///home/mark/Documents/projects/svelte-daily/.svelte-kit/runtime/server/index.js:2632:10)
at async respond$1 (file:///home/mark/Documents/projects/svelte-daily/.svelte-kit/runtime/server/index.js:2887:4)
at async resolve (file:///home/mark/Documents/projects/svelte-daily/.svelte-kit/runtime/server/index.js:3267:11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.