GithubHelp home page GithubHelp logo

onlinechat's Introduction

Online Chat

简介

这是一个在线聊天室应用。基于chat-room 修改。

新增内容

  • 聊天室在线人数 (在输入框上面显示当前房间在线用户及用户列表)
  • 首页显示 (首页内容请编辑 /views/index.ejs 文件即可)
  • 发送时间
  • 聊天室密码功能 (第一个创建房间的用户可以设置密码,其他用户必须正确输入密码才能进入该房间)
  • 图片lightbox特效
  • 聊天窗口自动嵌入分享的YouTube链接

特点如下(来自chat-room):

  1. 支持发送图片消息,音频消息,视频消息以及文件消息。
  2. 支持多房间,每个链接都是一个独立的聊天室,例如: https://onlinechat-0iyv.onrender.com/roomID
  3. 支持管理员踢人,输入 kick username 即可。
  4. 第一个进入房间的自动成为管理员。
  5. 页面为移动端做了专门优化。

演示

演示站:

roomID 可以是任意字符串,但不能以"?"开头,如果以'?"开头会打开首页。

首次访问需要稍等几秒,这是由于应用冻结了,之后就会好很多。

截图展示: 截图演示

部署

通过 Docker 部署

执行:docker run --restart=always -d -p 3000:3000 davoola/onlinechat:latest

开放的端口号为 3000,之后用 Nginx 配置域名,反代以及 SSL 证书即可。

更新版本的命令:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

通过Docker-compose部署

docker-compose.ymal文件内容如下:

version: "3"
services:
    onlinechat:
        restart: always
        ports:
            - 3000:3000
        image: davoola/onlinechat:latest

通过源码部署

git clone https://github.com/davoola/onlinechat.git
cd onlinechat
# 安装依赖
npm install
# 启动服务
npm start
# 推荐使用 pm2 进行启动
# 1. 安装 pm2
npm i -g pm2
# 2. 使用 pm2 启动服务
pm2 start ./app.js --name chat-room

其他

代码主要来自:https://github.com/songquanpeng/chat-room/

onlinechat's People

Contributors

davoola avatar

Stargazers

 avatar

Watchers

 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.