互联网基建成果,快速实现一个 Clubhouse 要多久

最近国外的一款基于语音的社交软件clubhouse掀起了一股热潮,尤其是在Eleon Musk的带动下,整个互联网圈内人都在第一时间抢先体验。
不管它为什么会火,肯定不是技术上有什么特别的优势。随着整个互联网技术生态的不断发展,互联网基础建设的不断完善,想快速实现一个产品,还是有很多的方案可以选择。
而今天给大家带来的是Github上的一个clubhouse的开源实现。

NesHouse 是一个基于 Agora、LeanCloud 服务,使用 Alpine.js 、Bulma Css、NES.css 构建的前端项目,这个项目实现了一套基于 NES 风格的 clubhouse,你可以使用 NESHouse 来创建自己的线上直播间,也可以将其分享出去,邀请别人一起参与讨论。

特性

  • 多聊天直播间支持
  • 管理员权限
  • 多主播同时发言
  • 观众申请发言
  • 管理员禁言主播
  • 生成分享链接

界面

依赖服务

  • LeanCloud 国际版
  • Agora.io 声网 +(非必需)Vercel

如何使用

使用流程

  1. 注册一个 LeanCloud 国际账户,并创建一个项目,用于后续的项目配置
  2. 注册一个 Agora 声网账号,并创建一个项目,获取 AppID。 创建项目时请选择调试模式,仅 APPID 鉴权

  3. 从 LeanCloud 的 应用后台
    –  你使用的应用
    –  设置
    –  应用 Keys
    中找到  AppID
    和  AppKey
    ,将其记录下来,以备后用。

  4. 从 LeanCloud 的 应用后台
    –  你使用的应用
    –  存储
    –  服务设置
    中启用  Live Query

  5. 在 LeanCloud 的 应用后台
    –  你使用的应用
    –  存储
    –  结构化数据
    ,并创建一个名为  RoomUser
    的 Class。

  6. 将上面记录的声网的应用 AppID 和 LeanCloud 的 AppID 和 APPkey 填写到  js/config.js
    顶部的配置中。
  7. 将修改好的文件部署到你自己的服务器上,并配置域名指向。

配置说明

js/config.js

const AVAPPID = "" // LeanCloud AppID
const AVAPPKEY = "" // LeanCloud AppKey
const BASEURL = "" // 最终网页所在的路径,生成的分享链接会基于这个地址产生
const DEFAULT_TEXT = "Please contact bestony@linux.com to Learn more" // 页面顶部展示的文字
const AGORAAPPID = "" // 声网服务的 AppID

Demo

  • 创建房间: https://neshouse.com/admin.html
  • 默认主页: https://neshouse.com/admin.html

Demo 使用流程

  1. 在 域名/admin.html 中输入房间名 & 用户昵称,创建一个新的房间
  2. 点击下方的  Log in to chat room as Administrator
    以管理员身份登陆房间

  3. 复制输入框内的链接,分享给你的朋友,邀请他们加入房间。