感慨

打开了自己的博客,发现上一次写博客都是去年6月份了,居然都过去一年了。感慨之余,突然想写点什么,就写写刚刚想到的自建评论系统吧。

起因

之前博客的评论系统是用的disqus,不过总是有点问题,每一篇文章都可以看到所有的评论。然后又折腾了一下,换了现在的这个gitalk。大概看了一下,做得还是挺巧妙的,用github的issue在存储评论,然后用gitalk的评论来显示评论。这样省下了自建服务器。不过搜索了一下,没有找到自建评论系统的开源项目,而使用像disqus或者gitalk这种还是会有一些限制。感觉开发一个自建评论系统还是可以多一种选择。

设计

框架选择

设计的话会考虑前后端分离的方式,后端打算使用FastAPI+TortoiseORM,然后前端打算使用React,或者考虑只提供一个SDK,本来我前端也不擅长,估计弄出来也很丑。

数据库设计

erDiagram
    project {
        int id
        varchar name
    }
    project ||--o{ post : contains
    post {
        int id
        varchar title
    }
    post ||--o{ comment : contains
    comment {
        int id
        varchar content
    }
    user ||--o{ comment : submit
    user {
        int id
        varchar name
        varchar email
    }

用户

考虑接入Github和Google的oauth2,然后把用户的信息存储在数据库中。

实现

仓库地址

https://github.com/long2ice/talkit

暂时先创建一个仓库地址吧,后面有时间了再看。