Giter Site home page Giter Site logo

skyformat99 / tyloo-chat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from boboooooo/tyloo-chat

2.0 1.0 0.0 3.12 MB

vue-cli + nestjs IM即时通讯聊天室(仿wechat)

Home Page: http://server.boboooooo.top:9999

License: MIT License

JavaScript 2.55% HTML 0.47% Vue 47.54% TypeScript 46.88% SCSS 2.56%

tyloo-chat's Introduction

Tyloo-Chat(仿wechat)

author author Node.js Version License: MIT author

部分功能截图

  • 整体界面
  • 通讯录
  • 群聊功能(群成员列表,在线状态,支持添加群成员)
  • 会话列表(置顶/删除)
  • 消息撤回功能

Feature

  • 用户登陆注册 (支持单点登陆)
  • 群聊 (类似qq群)
    • 邀请好友加入群聊
    • 修改群名/群公告
  • 好友功能 (支持接入第三方组织架构直接发起私聊)
  • 通讯录功能
  • 聊天功能
    • Emoji表情包
    • 图片发送/图片预览
    • 支持发送附件
    • 消息分页
    • 消息撤回/复制
  • 自定义主题
  • 会话置顶/删除
  • 重连提醒
  • 智能助手(默认,位于 main分支)
  • 第三方API机器人(可选,位于feature_APIROBOT分支)

Tech Stack

  • Typescript:JavaScript 的一个超集,它最大的优势是提供了类型系统和提高了代码的可读性和可维护性。
  • Vue2.6.x:前端渐进式框架。
  • Socket/io:实现实时通信,websocket第三方库。
  • Vuex:状态管理。
  • Nestjs:是一个用于构建高效、可扩展的 Node.js 服务端应用框架,基于 TypeScript 编写并且结合了 OOP1、FP2、FRP3 的相关理念。
  • Typeorm: 支持最新的 JavaScript 特性并提供额外的特性以帮助你开发任何使用数据库的应用程序。
  • ES6+:采用ES6+语法,箭头函数、async/await等等语法很好用。
  • SASS(SCSS):用SCSS做CSS预处理语言,可以使用最高效的方式,以少量的代码创建复杂的设计。
  • ElasticSearch Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
  • Nodejieba node版本中文分词器

数据库表结构设计

环境准备

  • mysql
  • chat数据库 (需要手动创建,注意数据库编码格式为utf8bm64)
  • node v10.16.3

运行项目

// client
cd client 
npm i
npm start
// server
cd server
npm i
npm run start

如何部署

Deploy

思路概述

webSocket建立流程

感谢

本项目fork自genal-chat做了优化升级,感谢大佬Genal开源提供思路!

TODO

  • @功能实现
  • 消息转发
  • 代码性能优化

tyloo-chat's People

Contributors

boboooooo avatar

Stargazers

 avatar  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.