动手实现一个单词本(架构设计)| 青训营笔记

174 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

生词本的架构设计

需求分析:

在读英文paper的时候,可能会遇到一些陌生的单词,能够有效地整理好这些单词,并科学地复习,那么有助于自己英语水平的提高,也可以提高自己后期阅读英文文献的能力。因此针对一个陌生单词,我实现了一个python,mysql, php, html相结合的单词本应用。其中python客户端用于记录陌生单词,借助API翻译陌生单词,并将翻译结果以json的格式存储到数据中,PHP用于后端编程,实现当日需要复习单词的网页端显示。

单词本的基础功能:

通过python终端在数据库记录单词、单词对应的文章中的句子、文章名称

采用API进行单词翻译

最终在python终端记录,在数据库上存储,在网页上查看和学习

数据库暂时不存储单词翻译的缓存,每一次调用都用翻译软件的API调取

浏览时间周期:

浏览时间间隔采用艾宾浩斯遗忘曲线的原理,每次初始化为一天

记忆周期为{1, 2, 4, 7, 15}

每天晚上回忆当天学过的单词

可以在web终端自定义下一次学习周期

Python终端设计:

输入单词、句子、文章名

文章名在服务器或本地缓存,记忆上一次的选择

调用翻译api进行单词翻译,将翻译结果存储到数据库中

数据库设计:

索引单词句子文章名收录时间周期类型下一周期
intvarcharvarcharvarchardatetimevarcharint
周期类型周期数周期1周期2周期3周期4周期5周期6周期7
varchar(20)intintintintintintintint
单词api翻译
varchar(20)varchar(20)varchar(1000)

web端设计:

查看单词

查看翻译、同义词、反义词、例句

查看音标、获取单词的读音

根据学习周期显示当天学习的单词