YoYo:自己打造一个评论服务

YoYo 是我尝试打造的一个评论服务,我希望她最终可以成为这样的一个作品:

开发现状

这会是一个持续的作品,我希望自己所有的愿望都变成一行行运行的代码. 目前已经大概实现了基本的功能,不过离我内心想要的还差很多。我希望自己的每一次提交都在改进这个产品. 作为一个工程师,我希望我的代码和这个作品一样: 保持 clean. 我们都知道,这是不容易,不过因为这是一个自己自足的产品,我并不没有deadline, 我给自己足够的思考时间。

怎么使用

将以下代码放在您要试用 YoYo 评论服务的任何页面中:

<div id="YoYo"></div>
<script src="https://yoyo-client-production.s3.amazonaws.com/dist/index.js"></script>

参与开发

目前 YoYo 的技术栈还算简单和现代,她的所有代码都是 JavaScript 的除了部署相关的几行 Bash 代码之外。她的后端由 Koa 和 Mongo 组合驱动,没有使用任何的 ORM,

Changelog:
2018/06/03 : YoYo 整体迁移到了 AWS 上, 所以目前的 YoYo API 是由 API Gateway, Lambda, 以及 DynamoDB 驱动的一个 serverless 架构的微小应用。 基础服务迁移到 AWS 之后,这个 API 代码行数就是大大降低,维护成本也很低,不用在维护自己 VPS, 也不用担心访问的问题。

--------------------------------------------------------
Language      files      blank     comment       code
--------------------------------------------------------
JavaScript     2          16         1            167
--------------------------------------------------------
SUM:           2          16          1           167
--------------------------------------------------------

除了 AWS 之外,YoYo 使用了 SendGrid 来做回复通知功能,SendGrid 有每天 100 条的免费额度,完全满足了我的需求。

而前端,也就是 YoYo 的小小的评论框和评论列表组件, 选用了 React 来构建,由于目前还很简单,没有复杂的状态管理,所有并没有考虑使用 Redux 或者 Mobx 来管理状态,希望将来也不要。

整个项目的持续集成和构建 (CI/CD ) 都在基于 circleci 来完成,master 分支的提交会触发 staging 的构建和部署,production 分支的提交会触发 production 的部署。

我特别希望:

具体看前往项目主页了解: https://github.com/metrue/YoYo