我建造的
Ghost blogging platform的实时集成。这包括:
- 后端http服务
- 幽灵的“卡斯珀”的示例前端库 - 主题
作为奖励:我的lametric钟今天在邮件中。它可以接收有关新帖子和更新帖子的通知,因此我在此提交中将专用的代码段集成了。在Github上查看有关如何将其与Ghost Notifier一起使用的README。我还在“附加资源/信息”下列出了一个简短的展示视频。
类别提交:
关于实时
应用链接
这项服务旨在自我托管。我正在提供带有Ghost +的Docker设置,以注册必要的Webhooks作为GitHub上的Readme的一部分。
。屏幕截图
请参阅Github readme获取屏幕截图
描述
幽灵 - 诺(Ghost-Notifier)做两件事。
1。它收到已发表的文章作为输入,并存储通知
- Ghost-Notifier是在MongoDB和Express.js顶部建立的微服务。
- 它在HTTP上接收幽灵文章,并将其数据子存储在MongoDB中。
2。当检测到数据库更改并将其发送给连接客户端
时,它会产生输出。- 第三方客户可以通过通过Ghost-Notifier订阅。 http(s)
- 发布者创建或更新帖子时,MongoDB使用其内置更改流触发通知
- 此通知是通过服务器范围的事件发送给连接客户端的
链接到源代码
关于项目
该项目是Ghost CMS中实时通知的自托管MVP。这是我提交给2022 MongoDB hackathon on dev.to的提交。
在MongoDB ChangEstreams和Ghost Webhooks上构建的幽灵通知器,每当发布新文章或现有文章时,都会发出通知。
用
建造- mongodb
- 打字稿 / javascript < / li>
- 车把
- 壮举。幽灵CMS
入门
可视化服务器发送事件 +幽灵实例被证明是一个相当的样板。因此,我已经添加了替代方法来乘坐该应用程序:
- 使用http客户端模拟幽灵webooks,并在localhost上检查应用程序日志:3000/('仿真方法') li>
- 在本地启动幽灵实例,注册webhooks和前端库(“幽灵方法”)
在下面,我将更详细地解释这两个。
QuickStart
在启动应用程序之前,您需要创建一个.env
允许许可证
什么
背景
我正在使用Ghost CMS来撰写有关Web开发的信息。在过去的两年中,该平台一直是我工具包的宝贵资产,并且继续如此。
与其他博客平台相比,Ghost的目标是设计轻量级。它不包括经典插件,但使用webhooks触发第三方扩展来推文,共享或触发工作流程。
我的博客没有收到足够的流量来添加很多。但是,如果我试图扩展规模,我会寻找更多的方法来保持用户参与度。例如,有关于新内容的通知。
这是Mongodb ChangEstreams似乎是Ghost的Webhooks的完美匹配。
我如何建造它
Ghost-Notifier是构建在Express.js上的打字稿后端。它使用mongodb图集来存储两个事件的邮政数据子集:
- 发布的新帖子
- 已发布的帖子更新
这些帖子存储并触发mongodb的ChangeStream
功能。
使用mongoDB代替MEM DBS为更多功能打开门:
- 使用MongoDB的工具包,包括碎片,交易和查询API来使缩放儿童的玩法。
- 如果您运行Ghost-Notifier作为SaaS <--这将是我作为产品托管该应用程序的方式 ,则更容易应用高级分析。
- 您可以继续建立MongoDB的本地驱动程序,以快速实施更多的功能,例如URL缩短器或搜索索引
我还沿途拾取了服务器式事件(SSE)。在这种情况下,每当更新数据库条目时,他们会向连接的客户发送通知。我什至写了一篇有关实施此技术的文章,因为我发现它是Websockets的宝贵替代品
MongoDB和SSE一起表现出色,并迅速实施。从现在开始,我肯定会更经常使用这种组合来进行状态实时应用。
其他资源/信息
- lametric集成的视频示例:https://youtube.com/shorts/Mdwa-9BS4W4
- 我写的有关node.js + sse的文章:https://dev.to/tqbit/how-to-use-nodejs-for-server-sent-events-sse-5ggj
- mongoDB变更流文档:https://www.mongodb.com/docs/manual/changeStreams/
- 服务器范围的事件上的MDN:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
- MongoDB与Redis比较:https://www.mongodb.com/compare/mongodb-vs-redis
- 幽灵webhooks文档:https://ghost.org/docs/webhooks/