关于 writestory 站点的计划

很久很久之前,就有一个想法,做一个故事续写类的网站。

其实说是想法,倒不如说已经开始做并且前端几乎已经开发完成,如果我没有手贱的话,angular 版本的前端部分应该还在我的 github repo 里面。
writestory-angular 这个 repo 里面,有已经完成大半的前端页面,和自己造的 nodejs-server 轮子(功能类似极简版nginx),包含一整套路由处理流程,和证书处理(支持https)以及 websocket 服务器。
以及后端开发了一小部分的api(位于 server/api/v1)路径
不过时过最起码已经有一年了。。
感觉重新捡起来写是一件很麻烦的事(证明了文档的重要性😂
以及考虑到三大前端框架我只有 react 还丝毫没有接触过的前提下
我决定使用 react 重新写一个前端界面
后端采用 KOA 即可,本来预定使用 graphQL 尝试一下 facebook 的“新技术”的,因为计划在后期加入 Redis 缓存功能,而我目前尚不知 graphQL 是否能完美地与 redis 结合,所以还是使用 restful api 吧(不过 version 1 暂时尝试一下使用 graphQL 也未尝不可)
之前由于个人喜好的原因,疯狂造轮子,但凡有那么一点点可能,我都不愿意去使用第三方框架,纵使我知道第三方框架绝大多数都写得比我完善,比我的好用,但是还是忍不住那种从零开始建立一个属于自己的东西的成就感。也因此导致了很多项目半途而废,至此搁浅。
因此我决定在这个项目中,尽量不要造轮子,以完成项目为第一目标。
该项目有以下目标,按阶段实施,也当作 todo list 列在下方,督促我自己不要懒

· 正在开发(v1)

  • 前端采用 react + redux 建立单页面应用,控制登录态和基本页面操作
  • 后端采用 koa + graphQL 建立 server 和 api

· 后续计划

  • 为前端页面编写单元测试
  • 为前端页面编写 UI 测试(使用 headless chrome)
  • 为前端页面配置 自动化测试,自动化部署 等自动化程序
  • 为后端部分编写单元测试
  • 为后端部分编写 自动化测试,自动化部署 等自动化程序
  • 前端部分使用 indexDB 缓存数据
  • 后端部分使用 redis 缓存数据