项目简介
基于SignalR实现聊天通信,支持横向扩展,可支撑上万用户同时在线聊天
快速体验
http://server.tokengo.top:8888/ 可在这里快速体验使用,请注意目前只适配了PC端,请勿使用手机访问,可能出现样式不适应的情况, 当然如果你想要自己部署也可以,目前提供了docker compose镜像一键部署 下面是docker-compose
代码
services:
postgres:
image: postgres:15.3-alpine3.18
restart: always
container_name: postgres
ports:
- 5432:5432
networks:
- chat
environment:
POSTGRES_USER: token
POSTGRES_PASSWORD: dd666666
POSTGRES_DB: Chat
volumes:
- ./postgres_data:/var/lib/postgresql/data
redis:
image: redis:alpine3.16
restart: always
container_name: redis
ports:
- 6379:6379
networks:
- chat
command: redis-server --appendonly yes
volumes:
- ./redisdata:/data
nginx:
image: nginx:stable-alpine
restart: always
container_name: nginx
networks:
- chat
ports:
- 1080:80
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
chat-web:
build:
context: ./web
dockerfile: ./Dockerfile
container_name: chat-web
image: registry.cn-shenzhen.aliyuncs.com/gotrays/chat-web
restart: always
depends_on:
- redis
- postgres
networks:
- chat
chat-api:
build:
context: ./
dockerfile: ./src/Chat.Service/Dockerfile
container_name: chat-api
image: registry.cn-shenzhen.aliyuncs.com/gotrays/chat-api
restart: always
depends_on:
- redis
- postgres
networks:
- chat
networks:
chat:
driver: bridge
注,容器并不会一次性启动成功,可能由首次启动的时候postgres未初始化成功导致Api服务启动失败,可能需要重启服务
后端架构
后端技术栈采用
-
.NET 7 -
PostgreSQL (业务数据库) -
Redis(用于存放热点数据,和支持SignalR横向扩展) -
MasaFramework(后端应用框架)+DDD(领域驱动设计)+CQRS(读写分离)
前端架构
-
React(Web版UI框架) -
Vite(打包运行) -
Semi(UI框架) -
Avalonia(客户端版UI框架)
Web界面预览,


并且输入框支持直接cv图片,当我们点击发送的时候会将图片和文字拆分发送。


目前支持Gitee直接登录或输入账号密码登录,(Github由于服务器无法访问到Api暂时无法使用)

后端项目结构

项目开源地址
gitee:https://gitee.com/hejiale010426/chat
github https://github.com/239573049/chat
技术交流群 :737776595
Chat后续计划
-
[x] 群聊聊天 -
[x] 群聊邀请好友 -
[x] 文件发送 -
[x] 图片发送 -
[x] 增加ChatGPT助手 -
[ ] 添加好友 -
[ ] 增加视频发送 -
[ ] 增加语言聊天 -
[ ] 增加视频聊天 -
[ ] 增加群聊管理 -
[ ] AT用户 -
[ ] …如果还是更多需求请在github提issue
原文始发于微信公众号(token的技术分享):一个.NET 7 + DDD + CQRS +React+Vite的实战项目
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/230176.html