Code Monkey home page Code Monkey logo

web-rtc's Introduction

Web RTC - Twitch clone

Most up to date code is in restructure branch

https://github.com/lishine/web-rtc/tree/restructure

Libraries

  • Opentok api
  • Chakra.ui toolkit
  • easy-peasy store (redux)
  • Fauna graphql serverless database
  • Typescript
  • Next.js
  • React

Features

  • Unlimited streams and viewers
  • Feed list updated with new streamers
  • Sending gift to the stream
  • Chat simulation

Instructions

  • Clone the repo
  • Create Opentok account
    • create dev and prod project
    • fill .env with OPENTOK_PROJECT_SECRET, OPENTOK_PROJECT_API_KEY as in env-template
  • Create Faunadb account
    • create dev and prod database
    • import scheme from db/scheme.gql
    • create dev and prod DB Secret
    • fill .env with FAUNA_DB_SECRET as in env-template
  • Create Vercel account
    • create a project from the repo
    • every push from the repo will create a deploy
    • create env variables in the admin panel: OPENTOK_PROJECT_API_KEY, OPENTOK_PROJECT_SECRET, FAUNA_DB_SECRET
  • The password for the interface is in www/store/authModel.ts
  • Install Develop
    • yarn
    • cd www && yarn
  • Develop
    • cd www && yarn dev

Demo

Feed

Feed

Stream

Stream

TODO

  • show deployed version
  • PWA
  • snapshot from s3
  • live preview
  • scroll -> remove controls (fullscreen)
  • catch react errors
  • change map into json
  • stream component reparenting
  • nextjs - keep components mounted
  • fix back button while streaming
  • FQL
  • Solve PWA POST error
  • if stream err - reload it
  • unite stores

web-rtc's People

Contributors

lishine avatar

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.