Skip to content

neoreads/backend

Repository files navigation

NeoReads后台

NeoReads应用的后台程序:

  • 编程语言:Golang
  • 数据库:PostgreSQL
  • 操作系统:Ubuntu 18.04 LTS
  • 数据格式: JSON

近期计划 | TODO

  • 用目录(folder)和文件(file)的概念来重新封装各类文章与文集,并组织成多层树状结构,将来统一所有类型的知识信息。

  • 利用go-git来构建git库操作逻辑,实现文集的版本管理

  • 参考gogs开源工程,实现文集版本管理,以及协同编辑的功能。

  • 在码云上设立代码库

  • 对史记文件进行预处理,生成章节文件。

  • 生成BookID, ChapID, ParaID和SentID,并写入到章节文件中。(可以和预处理过程结合到一起,直接生成带ID的章节文件。

  • 修改章节文件格式,支持Markdown

  • 将史记处理转化为基本Markdown格式

  • 将生成的书籍、章节信息存入到数据库中进行管理。

  • 在图书目录生成一个静态HTML文件,列出图书的名称和目录链接,方便人工查阅。

  • 句子圈点功能

  • 基于句子的基本笔记功能(纯文本)

  • 基于句子的基本笔记功能(Markdown编辑器)

  • 提供函数将带ID的章节文件净化生成普通文本文件,方便阅读。(包括章节排序功能)。

  • 提供一个全库输出功能,将所有书籍输出成普通文本文件的集合,建立压缩包。

  • 根据ID来存储评注定位。

  • 使用authbossbcrypt来实现用户登录和权限功能

  • 重新组织代码目录结构,将数据与数据库处理的模块提出来,供server与prepare模块共享

  • 用户登录信息表

  • 集成argon2用于保存和检查密码

  • 利用阿里云发送邮件

  • JWT后台

  • 设计词典表单,可以参考ECDICT

  • 参考html2article,利用goquery等工具实现简单的网页内容抓取工具,方便创建外链新闻记事。

  • Markdown处理

    • 处理sentid
    • 处理paraid
    • 支持表格
    • 支持代码块
    • 支持ul列表
    • 支持ol列表
    • 支持缩进块
    • 支持引用blockquote

前后端版本兼容

由于前后端版本号管理是分开的所以需要记录对应兼容的版本号。未来加上前端APP后,这个对应就更重要了。

前端WEB 后端
0.2.1 0.2.0
0.2.0 0.2.0
0.1.9 0.1.9
0.1.8 0.1.8
0.1.8 0.1.7
0.1.7 0.1.6
0.1.6 0.1.5
0.1.6 0.1.4
0.1.5 0.1.3
0.1.4 0.1.2
0.1.3 0.1.2
0.1.2 0.1.2
0.1.1 0.1
0.1 0.1

API设计

后台API全部返回JSON格式数据,URL以/api/v1/开头

URL Method 功能
/book/list GET 图书列表
/book/toc GET 章节目录
/book/:bookid GET 图书信息
/book/:bookid/chapter/:chapid GET 章节内容

About

Backend Server for www.neoreads.com and the NeoReads app

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages