Gitads

Englisch | Vereinfachtes Chinesisch
Der Grund, warum es Ghchat heißt, ist, in Zukunft über eine Github -Integration nachzudenken, in der Hoffnung, dieses Instant Messaging -Tool zu einem Chat -Tool für GitHub zu machen. Derzeit wird nur GitHub autorisierte Anmeldung unterstützt und Informationen werden von Github -Benutzern angezeigt. Anschließend können Sie problemlos eine Projektgruppe für Ihr GitHub -Projekt in Ghchat erstellen und dann den Gruppenlink in Readme veröffentlichen, um die sofortige Kommunikation von Projekten zu erleichtern.
Die Online -Adresse der Anwendung (auch ein Gruppenlink für das Projekt) unterstützt die Direct Github -Autorisierungsanmeldung
Wenn die Github -Login fehlschlägt
Es ist sehr wahrscheinlich, dass Ihr GitHub keine öffentliche E -Mail festlegt

Es wird empfohlen, PWA zu aktivieren
Front-End React Family Bucket, PWA, Back-End Node.js (KOA2), Back-End-Unterstützung und schreibt einige Ts (die meisten Typen wurden noch nicht mit T^t), Datenbanken MySQL, Socketio, JWT usw., Paket.json für Details. Darüber hinaus werden Nginx, SSL, PM2 usw. in der Produktionsumgebung verwendet. Willkommen bei der Ghchat -Gruppe, um zu kommunizieren. Ich bin jeden Tag online und Sie können auch klicken, um privat mit mir zu chatten.





Login/Register/Login/Melden Sie sich gleichzeitig mit mehreren Geräten an
Unterstützen Sie die Anmeldung/Anzeigeinformationen von GitHub Autorisierung/Anzeige von GitHub -Benutzern, die angegeben wurden
Responsive Layout, angepasst an Desktop- und Mobil- / meisten UI -Komponenten, werden selbst geschrieben
Private Chat/Kontakte/Freundesprofil Anzeige/Löschen Kontakte
Gruppen -Chat/Anbau einer Gruppen-/Gruppeninformationsanzeige-/Gruppeninformationsbearbeitungs-/Gruppeninformationen/Newcomer -Eintragbenachrichtigung
Benutzersuche && Gruppensuche: Unterstützung der Fuzzy-Suche von Front-End und Back-End-Fuzzy-Suche
Senden Sie Bilder/veröffentlichte Ausdrücke/Senden/Download -Dateien/Download -Dateien/Eingeben Sie Abschlussschlüssel, um Informationen zu senden/@jemand/Bild anzeigen/Senden Sie Bilder ein (z. B. Screenshots einfügen und Bilder direkt posten).
Die Einstellungen für Nachrichteneinstellungen/Anzahl der Listen-Meldungen/Aktualisieren | Reöffnung | (verschiedene Konten), um die Seite "wieder zu veröffentlichen), die Anzahl der ungelesenen Nachrichten in der Liste wird weiterhin genau angezeigt, die weiterhin genau angezeigt werden
GZIP -Komprimierung/Subunternehmer -Build -Dateien/fauler Chat -Inhalt Laden/Routing auf Demand/Schnittstellenanforderung Frequenzlimit/WebSocket -Management -Mechanismus
Roboter Smart Chat Antwort / Bereitstellen von SSL -Zertifikat / Support PWA / Backend Support TS
Unterstützen Sie Markdown/Support -Referenz -Chat -Inhalt/Backend -Kapselung in SDK/Internationalization/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配置
git clone https://github.com/aermin/ghChat.git
cd ghChat
npm i
cd ghChat/server
npm i
//需要先在本地建一个名为ghchat的mysql数据库
数据库配置参考如下(ghChat/server/src/configs/configs.dev.ts) 的dbConnection
npm run init_sql //然后查看下数据库是否init成功
PS: Wenn Sie die GitHub -Autorisierung verwenden möchten, um Bilder und Dateien zu senden (mit Qiniu Cloud CDN), müssen Sie die entsprechende Konfiguration in der Datei ausfüllen (ghchat/server/src/configs/configs.dev.ts), andernfalls wird es nicht standardmäßig verwendet.
npm run start
cd .. // 返回到ghChat/目录
npm run start
Voraussetzung: Erstellen Sie die Datei secrets.ts -Datei im GHCHAT/ Server/ Ordner
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. Bauen Sie Front-End-Code
cd src
npm run build:prod
2. BUILD BACKEND CODE
cd sever
npm run build:prod
npm run start:prod ) ausführenHier haben wir einen GHCHAT-Entwicklungsprozess, der ständig die Probleme, Wissenspunkte und Fallstricke aktualisiert und zusammenfasst, die bei diesem Vollstapelprojekt auftreten.
MIT
Code ist nicht einfach. Bitte geben Sie die Quelle als Referenz an
Wenn es Ihnen hilfreich ist oder denkt, dass es nicht schlecht ist, können Sie mir eine Belohnung geben (〃 '▽' 〃).