npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mytaverse-agora-module

v0.3.33

Published

Video/Voice Chat Agora

Downloads

27

Readme

Mytaverse Agora Module

Especially for reactJs

Build Status

This module is especially a react hook which contains the actions on the video/voice chat such as toggle voice, channel change, share screen etc. Among the actions we have the following:

  • Active Proxy.
  • Change Device Input/Output
  • Disconnect
  • Init
  • Region Change
  • Share Camera
  • Shara Screen
  • Subscribe
  • Toggle Voice
  • Unsubscribe
  • Change Role

Arquirectura

We can see diagrams of the architecture of this module in the following link: https://miro.com/app/board/uXjVOlm16oo=/

Terminology

  • ActionsHook: It is the react hook that contains the main functions to call the module's actions.
  • Actions: The actions are each of the events that the user can carry out with respect to the video/voice chat, either through an interface event or a logical event of the module.
  • Context: Is all the data where the business rules operate (connection status, current channel, user role, etc) and all the audio/video resources for the agora sdk (tracks, client agora, listeners agora , etc)
  • Worker: It is an entity in charge of monitoring the list of actions to be done, this worker removes the action from a queue and sends it to the action's own manager.
  • Manager: Is the entity that contains both the invocation of the business rules, as well as the call to the operations of the agora sdk such as join, publish, leave, etc. this manager is the one who alters the state of an action.
  • Rules: These are the definition of the business rules, for example the pertinent validations of the module context, such as validation of the connection status, of the channel where the user is connected, of the user role, etc.
  • Operations: Represent the logic that interacts with the agora sdk directly, here we will find the implementation of the use of the agora sdk such as to join a channel, to mute an audio or video track, or to change the role. etc.
  • Logger: It is the entity that is in charge of processing the output of the actions, this entity can define engines, by default the available engines are console and view.

Tech

Main modules/module dependencies:

  • [Redux Js] - @reduxjs/toolkit
  • [Agora Web SDK] - agora-rtc-sdk-ng
  • [Validatorjs] - validatorjs

Installation

This module requires Node.js v10+ to run.

For production environments...

npm i mytaverse-agora-module --save

For development environments...

npm i mytaverse-agora-module --save-dev
npm install [email protected] --save --legacy-peer-deps

Building for source

For production release:

npx -typescript tsc

License

MIT