MongoDB 2022 Hackathon提交 - 介绍Ghost Notifier
#typescript #mongodb #atlas #atlashackathon22

我建造的

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-Notifier

Realtime notifications for your Ghost Blog

License GitHub last commit

关于项目

该项目是Ghost CMS中实时通知的自托管MVP。这是我提交给2022 MongoDB hackathon on dev.to的提交。

在MongoDB ChangEstreams和Ghost Webhooks上构建的幽灵通知器,每当发布新文章或现有文章时,都会发出通知。

ghost-notifier landing page

建造
  • mongodb
  • 打字稿 / javascript < / li>
  • 车把
  • 壮举。幽灵CMS

入门

可视化服务器发送事件 +幽灵实例被证明是一个相当的样板。因此,我已经添加了替代方法来乘坐该应用程序:

  • 使用http客户端模拟幽灵webooks,并在localhost上检查应用程序日志:3000/('仿真方法')
  • 在本地启动幽灵实例,注册webhooks和前端库(“幽灵方法”)

在下面,我将更详细地解释这两个。

QuickStart

在启动应用程序之前,您需要创建一个.env

允许许可证

什么

背景

我正在使用Ghost CMS来撰写有关Web开发的信息。在过去的两年中,该平台一直是我工具包的宝贵资产,并且继续如此。

与其他博客平台相比,Ghost的目标是设计轻量级。它不包括经典插件,但使用webhooks触发第三方扩展来推文,共享或触发工作流程。

我的博客没有收到足够的流量来添加很多。但是,如果我试图扩展规模,我会寻找更多的方法来保持用户参与度。例如,有关于新内容的通知。

这是Mongodb ChangEstreams似乎是Ghost的Webhooks的完美匹配。

我如何建造它

Ghost-Notifier是构建在Express.js上的打字稿后端。它使用mongodb图集来存储两个事件的邮政数据子集:

  1. 发布的新帖子
  2. 已发布的帖子更新

这些帖子存储并触发mongodb的ChangeStream功能。

使用mongoDB代替MEM DBS为更多功能打开门:

  • 使用MongoDB的工具包,包括碎片,交易和查询API来使缩放儿童的玩法。
  • 如果您运行Ghost-Notifier作为SaaS <--这将是我作为产品托管该应用程序的方式
  • ,则更容易应用高级分析。
  • 您可以继续建立MongoDB的本地驱动程序,以快速实施更多的功能,例如URL缩短器或搜索索引

我还沿途拾取了服务器式事件(SSE)。在这种情况下,每当更新数据库条目时,他们会向连接的客户发送通知。我什至写了一篇有关实施此技术的文章,因为我发现它是Websockets的宝贵替代品

MongoDB和SSE一起表现出色,并迅速实施。从现在开始,我肯定会更经常使用这种组合来进行状态实时应用。

其他资源/信息