/neshouse

NESHouse.com —— An open source implementation of ClubHouse

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

README|中文介绍

NESHouse

An open source implementation of clubhouse

NesHouse is a front-end project built on Agora, LeanCloud service, using Alpine.js, Bulma Css, NES.css. This project implements a set of clubhouse based on NES style, you can use NESHouse to create your own online live room, you can use NESHouse to create your ostart live room, or share it and invite others to join the discussion.

Features

  1. multi-chat live room support
  2. administrator privileges
  3. multiple hosts speaking at the same time
  4. audience application to speak
  5. administrator ban anchor
  6. generate sharing links

ScreenShots

Administrator Interface - Chat Room Administrator - Create Chat Room
Administrator Interface - Chat Room Administrator - Create Chat Room

Demo

Demo Flow of use

  1. Enter the room name & user nickname in the domain/admin.html to create a new room
  2. Click Log in to chat room as Administrator below to log in to the room as an administrator
  3. Copy the link in the input box and share it with your friends to invite them to join the room.

Dependency Services

  1. LeanCloud Global
  2. Agora.io
  3. (non-essential)Vercel

How to use

Flow of use

  1. Register a LeanCloud International Account and create a project for subsequent project configuration
  2. Register an Agora Sound Network account and create a project to get the AppID. Please select debug mode when creating project, only APPID authentication
  3. Find AppID and AppKey from LeanCloud's App Backend - Apps you use - Settings - App Keys, and record them for later use.
  4. Enable Live Query from LeanCloud's App Backend - Apps You Use - Storage - Service Settings
  5. In LeanCloud's Application Backend - Application you use - Storage - Objects and create a Class named RoomUser.
  6. Fill in the application AppID of SoundCloud recorded above and the AppID and APPkey of LeanCloud into the configuration at the top of js/config.js.
  7. Deploy the modified files to your own server and configure the domain name to point to.

Configuration file description

js/config.js

const AVAPPID = "" // LeanCloud AppID
const AVAPPKEY = "" // LeanCloud AppKey
const BASEURL = "" // The path where the final page is located, the generated share link will be generated based on this address
const DEFAULT_TEXT = "Please contact <a href='mailto:bestony@linux.com'>bestony@linux.com</a> to Learn more" // Text displayed at the top of the page
const AGORAAPPID = "" // AppID for Agora

Contribute to the project

If you are a user, you can participate in the discussion and ask your questions via issue or discussion above

If you are a developer, you can submit your changes directly via Pull Request. Note that your changes will be licensed to other developers under the AGPLv3.

Sponsors

LICENSE

AGPLv3

For commercial use, please contact email bestony@linux.com or WeChat ixiqin_com for commercial licensing and standalone deployment versions

Credits