互联网基建成果,快速实现一个 Clubhouse 要多久
不管它为什么会火,肯定不是技术上有什么特别的优势。随着整个互联网技术生态的不断发展,互联网基础建设的不断完善,想快速实现一个产品,还是有很多的方案可以选择。
而今天给大家带来的是Github上的一个clubhouse的开源实现。

NesHouse 是一个基于 Agora、LeanCloud 服务,使用 Alpine.js 、Bulma Css、NES.css 构建的前端项目,这个项目实现了一套基于 NES 风格的 clubhouse,你可以使用 NESHouse 来创建自己的线上直播间,也可以将其分享出去,邀请别人一起参与讨论。
特性
- 多聊天直播间支持
- 管理员权限
- 多主播同时发言
- 观众申请发言
- 管理员禁言主播
- 生成分享链接
界面
依赖服务
- LeanCloud 国际版
- Agora.io 声网 +(非必需)Vercel
如何使用
使用流程
- 注册一个 LeanCloud 国际账户,并创建一个项目,用于后续的项目配置
-
注册一个 Agora 声网账号,并创建一个项目,获取 AppID。 创建项目时请选择调试模式,仅 APPID 鉴权
。 -
从 LeanCloud 的 应用后台
– 你使用的应用
– 设置
– 应用 Keys
中找到 AppID
和 AppKey
,将其记录下来,以备后用。 -
从 LeanCloud 的 应用后台
– 你使用的应用
– 存储
– 服务设置
中启用 Live Query -
在 LeanCloud 的 应用后台
– 你使用的应用
– 存储
– 结构化数据
,并创建一个名为 RoomUser
的 Class。 -
将上面记录的声网的应用 AppID 和 LeanCloud 的 AppID 和 APPkey 填写到
js/config.js
顶部的配置中。 - 将修改好的文件部署到你自己的服务器上,并配置域名指向。
配置说明
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 使用流程
- 在 域名/admin.html 中输入房间名 & 用户昵称,创建一个新的房间
-
点击下方的 Log in to chat room as Administrator
以管理员身份登陆房间 - 复制输入框内的链接,分享给你的朋友,邀请他们加入房间。