Giter VIP home page Giter VIP logo

chatserver's Introduction

chatserver

网页在线聊天系统后端

Backend Stack

Spring BootSpring SecuritySocket.ioRedisMongoDBNginxFastDFS等。

Description

  • 该系统是基于前后端分离,采用Spring Boot + Vue + React开发的网页版聊天系统。

    • 前端使用Vue.jsReact开发,WebSocket增强界面实时交互效果,Element-UI组件库提高用户体验,WebRTC技术实现1v1白板协作和语音视频通话功能。
    • 后端使用Spring Boot + Spring Security框架开发,结合JWT实现用户登录和权限认证,MongoDB用来存储该系统的所有数据,Redis不仅用来存储临时的验证码等待校验请求,还维护了所有在线的客户端及对应的用户信息;netty-socketio监听前端WebSocket发来的消息并处理后主动推送该消息给在线的目标客户端。
    • 搭建FastDFS服务器用来存储上传的图片和文件,搭建coturn中继服务器来收集端点信息,使得公网中任意2台不同主机能够进行P2P通话或白板协作。通过配置Nginx反向代理请求转发到内部端口,隐藏了真实的访问地址,提高了访问安全性。
  • 已实现的功能:私聊、群聊、上传图片、文件、1v1白板协作和语音视频通话、敏感词过滤、历史消息、表情发送、消息已读提醒、好友分组、好友备注、在线用户头像高亮、添加好友、添加群聊、日程设置等。

  • 运行本项目前,需要修改这些服务的连接参数:RedisMongoDBfastDFS

  • 打包前先将ChatServerApplicationTests.java文件注释掉,然后点击Maven->package,将生成的jar包上传到服务器,执行后台运行该项目的命令:nohup java -jar chatserver-0.0.1-SNAPSHOT.jar &,项目运行过程中使用命令:tail -f nohup.out实时查看项目运行日志。

  • 项目演示地址:点我,传送门

chatserver's People

Contributors

wzomg avatar

Watchers

James Cloos 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.