我提交的概述
Chattergram是一个聊天应用程序POC,将您的语音消息转化为其他人的书面文本。我在以前的黑客马拉松期间建造了它,它变成了我最喜欢的侧面项目之一。我没有得分,但学到了很多有关打字稿,VUE 3和文本功能的语音。
现在,我很自豪地介绍其增强的继任者:
介绍Chattergram-由redis stack提供动力
之前,该项目没有完成。回顾过去,我开始认为该体系结构的某些选择充其量是次优的:
- 我没有使用Serveride缓存
- 某些后端组件紧密耦合(例如,聊天者 - 处理程序对Websocket服务器具有很大的依赖性)
- PostgreSQL felt like an inappropriate choice for such a trivial data structure.我花了很多时间才能正确设置TS Intellisense的数据结构和利润。
在下图中,您可以看到redis的应用程序结构:
我很高兴地说,使用redis可以让我相当简单地解决所有这些问题:
- redis现在充当我的前端数据库
- 它将聊天和用户条目同步到 - 和从mongodb
- redis的pub/sub功能使我能够将我的聊天处理程序和websocket服务器拆卸
- 虽然MongoDB并不容易导航,但我发现它是一个更容易,更快的持久数据库,可以快速启动和运行。
以下是新的应用结构。几乎是我如何计划的复制品(编写Base64编码文件并不是一个好主意):
使用REDIS还相当多地提高了性能。您可以在Github Repos' readme
中找到一些简单的基准结果Chattergram使用使用VUE3构建的前端组件。它还提供了OpenAPI规范,以帮助开发人员了解其功能。
您可以在本地运行时在
http://localhost:8080/api/docs
下找到OpenAPI规范。
提交类别:
平均/Mern Mavericks
实际上,mfvn -mavericks(mongodb,fastify,vue,node)
[可选:我项目的视频解释器]
使用的语言
- node.js + tyspript
链接到代码
Chattergram + Redis
A chat application that transcribes voice messages to text - powered by the Redis Stack
Chattergram在两个单独的应用程序上运行 - 前端和后端。您需要创建一个帐户才能访问聊天。您的所有数据将存储在本地Redis(&MongoDB)实例上。
注册后,您可以开始与其他用户聊天。如果您决定向他们发送语音消息,DeepGram将尝试为您和您的发件人转录消息。如果您喜欢的话,您仍然可以收听录制的消息。
我已经创建了Chattergram-redis作为Redis Hackathon on dev.to的POC项目。请不要在生产环境中使用它
它如何工作
视频说明
您可以在YouTube上找到我的提交的视频版本:
数据的存储方式:
- 此应用使用两种主要数据类型:
User
和
其他资源 /信息
- Chattergram original (=legacy) readme file
- Deepgram console login
- Apache Jmeter performance test tooling
合作者
独奏 - 项目
- 查看Redis OM,客户库,用于与Redis合作作为多模型数据库。
- 使用RedisInsight在Redis中可视化您的数据。
- 注册free Redis database。