Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitAds

GitAds

ghChat

Node.js MySQL License Author

English | 简体中文

ghChat(react版)

之所以�?�ghChat,是想�?�以�?��?�一些GitHub的集�?,希望让这个�?�时通讯工具�?为chat tool for github。目�?�?�支�?github授�?�登录,和展示github用户公开的信�?�,然�?��?�以方便地在ghChat中为自己的github项目建个项目群,然�?�贴群链接到readme中,方便项目�?�时交�?。

应用线上地�?�(也是项目的群链接),支�?直接github授�?�登录

倘若github登录失败

查看如何设置

很�?�能是你的github没有设置public的email

ACF5CEB66E47AEE81B5ABD21592A3827

建议开�?�PWA

技术栈

�?端React全家桶,PWA,�?�端node.js(koa2),�?�端支�?并写了点TS(大多类型还没补 T^T) , 数�?�库MySQL, SocKetIO, JWT等等,具体看package.json。�?�外生产环境用了Nginx, SSL, Pm2等。欢迎加ghChat群交�?哦,我�?天都在线,也�?�以点击�?�?�我

pic

详细的项目展示图

点开查看

pic1

pic2

pic3

pic4

目�?进度

点开查看
  • 账户

登录/ 注册/ 退出登录/ 多设备�?�时登录

  • 对github的集�?

支�?github授�?�登录/ 展示github用户公开的信�?�

  • UI

�?应�?布局, 适�?桌�?�端和移动端/ 大部分UI组件自己写

  • �?�?�

�?�?�/ 添加�?�系人/好�?�资料展示/ 删除�?�系人

  • 群�?�

群�?�/ 建群/ 加群/ 群资料展示/ 退群/ 编辑群资料/ 新人进群通知

  • 查询

用户�?�索&&群�?�索: 支�?�?端模糊�?�索和�?�端模糊�?�索

  • 丰富�?�天方�?

�?�图/ �?�表情/ �?�文件/ 下载文件/ Enter快�?�键�?��?信�?�/ @�?人/ 图片查看/ �?��?copy的图片(如截图�?�粘贴�?�直接�?�图)/ 根�?�时间�?�?展示�?�天页表/ 分享群|�?�系人给其他的人|群(应用内|外都支�?)

  • 新消�?��??示

�?览器桌�?�通知/ 消�?�是�?��??示的开关设置/ 列表未读消�?�数目�??示/ 刷新|�?开|(�?�?�账�?�)�?登页�?�,列表未读消�?�的数目将�?然且准确显示

  • �?断的�?构和优化

gzip 压缩/ 分包build文件/ �?�天内容懒加载/ 路由按需加载/ 接�?�请求频率�?制/ WebSocket管�?�机制

  • å…¶ä»–

机器人智能�?�天回�?/ 部署SSL�?书/ 支�?PWA/ �?�端支�?TS

  • TODO

支�?Markdown/ 支�?引用�?�天内容/ �?�端�?装�?sdk/ 国际化/ CI CD

项目结构图

点开查看
├── LICENSE
├── README-zh_CN.md
├── README.md
├── package-lock.json
├── package.json
├── postcss.config.js
├── server // �?�端代�?
│   ├── ecosystem.config.js
│   ├── init // �?始化mysql数�?�库的脚本
│   ├── nodemon.json
│   ├── package-lock.json
│   ├── package.json
│   ├── secrets.ts // 放一些�?�公开的secret
│   ├── src
│     ├── app
│     ├── context
|     ├── controllers
|     ├── index.ts
|     ├── middlewares
|     ├── routes // �?�端路由,跟登录注册模�?�有关
|     ├── server.ts
|     ├── services
|     ├── socket // 除了登录注册,其他都用socket �?�通信
|     └── utils
|     ├── configs
|       ├── configs.common.ts // �?�端通用�?置
|       ├── configs.dev.ts // �?�端开�?��?置
|       └── configs.prod.ts // �?�端生产�?置
    └── main.ts
│   ├── tsconfig.json
│   ├── tslint.json
│   └── webpack.config.js
├── src // �?端代�?
│   ├── App.js
│   ├── app.scss
│   ├── assets
│   ├── components
│   ├── containers
│   ├── index.html
│   ├── index.js
│   ├── manifest.json // PWA需�?
│   ├── modules
│   ├── redux
│   ├── router
│   ├── service-worker.js // PWA需�?
│   └── utils
├── webpack.common.config.js  // 通用webpack设置
├── webpack.prod.config.js //生产相关的webpack�?置
└── webpack.dev.config.js //开�?�相关的webpack�?置

本地开�?�

点开查看
  1. 项目拉到本地
git clone https://github.com/aermin/ghChat.git
  1. 下载�?端的npm包
cd ghChat
npm i
  1. 下载�?�端的npm包
cd ghChat/server
npm i
  1. �?始化数�?�库
//需�?先在本地建一个�??为ghchat的mysql数�?�库
数�?�库�?置�?�考如下(ghChat/server/src/configs/configs.dev.ts) 的dbConnection

npm run init_sql    //然�?�查看下数�?�库是�?�init�?功

ps: 如果�?使用github授�?�登录,�?�图片和�?�文件(使用七牛云cdn),就�?在文件(ghChat/server/src/configs/configs.dev.ts)填充相应的�?置了,�?�则默认无法使用

  1. 跑起�?端和�?�端的代�?
npm run start
cd ..      // 返回到ghChat/目录
npm run start

生产环境使用

点开查看

�?�??:在ghChat/server/ 文件夹下创建secrets.ts文件

export default {
  port: '3000', // server 端�?�
  dbConnection: {
    host: '', // 数�?�库IP
    port: 3306, // 数�?�库端�?�
    database: 'ghchat', // 数�?�库�??称
    user: '', // 数�?�库用户�??
    password: '', // 数�?�库密�?
  },
  client_secret: '', // github的client_secret
  jwt_secret: '', // jwt的secret
  qiniu: { // 七牛云cdn�?置
    accessKey: '',
    secretKey: '',
    bucket: ''
  },
  robot_key: '', // 机器人�?�天用到的key => 请自己申请 http://www.tuling123.com/
};

1.build�?端代�?

cd src
npm run build:prod

2.build�?�端代�?

cd sever
npm run build:prod
  1. 把步骤1,2产生的文件夹(build, dist)放到你的�?务器上, 把dist/index.js文件跑起�?� (�?�以把ghChat/server/package.json 一并拷到到你的�?务器上,然�?�执行npm run start:prod)

这边开�?�了一篇ghChat开�?�历程 ,将�?断地更新总结�?�这个全栈项目时会�?�到的问题,知识点,和�?�。

License

MIT

�?代�?�?易,引用借鉴请注明出处

Contributors

感谢大佬们的pr

最�?�

对你有帮助或者觉得还�?错�?�以star或者打�?下(〃'▽'〃)

打�?二维�?�

donate