Giter VIP home page Giter VIP logo

caroline73 / im Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leer0911/im

0.0 0.0 0.0 1.33 MB

IM demo create by react+typescript+socket, lerna+monrepo,include client and server,component with storybook. ( 基于 React+TS+Socket 开发的 IM,分客户端、服务端、组件库包,采用 Lerna 管理。 已实现聊天功能,Demo 可运行)

JavaScript 1.80% HTML 4.57% TypeScript 93.63%

im's Introduction

IM

聊天室 Demo,教程

特性

  • 基于 TS,Lerna + monorepo 开发
  • 基于 React FC,useReducer + useContext 数据流管理
  • 基于 material-ui 二次封装,并采用 storybook 维护文档的组件库
  • 基于 socket.io 的聊天功能
  • 标配 Git 提交 Eslint 检测、Commit 规范

预览

APP

app 预览

组件库文档

storybook 预览

开始

依赖安装

yarn lerna bootstrap
yarn lerna link

组件库开发

yarn ui

启动 Client 端

yarn app

启动 Server 端

yarn server

目录说明

项目蓝图

客户端 APP

├── App.tsx
├── assets
├── container
│   ├── chat
│   │   ├── Chat.tsx # 聊天室主逻辑
│   │   ├── Emoji.tsx # 表情功能
│   │   ├── Extra.tsx # 扩展功能,如相册等
│   │   ├── Header.tsx # 顶部通栏
│   │   ├── Message.tsx # 消息流
│   │   ├── MessageItem.tsx # 消息流
│   │   ├── Tool.tsx # 工具栏,如发送语音、发送文本、表情等
│   │   ├── emojis.ts # 表情集合
│   │   ├── index.tsx
│   │   └── store.tsx # 聊天室状态流
│   └── index.ts
├── index.tsx
└── store # 后续存放 APP 全局 Store,比如用户信息
    ├── ContextStore.tsx
    ├── index.tsx
    ├── reducers
    │   ├── constants.ts
    │   ├── index.ts
    │   └── user.ts
    ├── useGlobalStore.tsx
    └── useStore.tsx

im's People

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.