Skip to content

Commit 1737523

Browse files
committed
readme update
1 parent 5d61cca commit 1737523

File tree

1 file changed

+59
-22
lines changed

1 file changed

+59
-22
lines changed

README.md

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,66 @@
1-
# gre2weeks
1+
# Vue单词助手
22

3-
## Project setup
4-
```
5-
npm install
6-
```
3+
一款用Vue写的高效率在线背单词Web App,经实践两周即可背完GRE机经词。
74

8-
### Compiles and hot-reloads for development
9-
```
10-
npm run serve
11-
```
5+
功能理论依据是艾宾浩斯记忆周期,同时参考了杨鹏的《17天搞定GRE单词》,以及不少同学和自己使用Excel背单词的经验。
126

13-
### Compiles and minifies for production
14-
```
15-
npm run build
16-
```
7+
本项目尤其适合做为Excel背单词法的替代方案,尤其适合准备GRE这种考试,需要短期记忆大量单词的同学。
178

18-
### Run your tests
19-
```
20-
npm run test
21-
```
9+
>因为是备考GRE时在空余时间写的,项目一些地方的代码复用和算法写的比较糟糕,有很大的提升空间。
10+
11+
[点此进入本项目的demo页面(甚至可以直接在这背GRE单词)](超链接地址 "https://gre.lukerr.com")
12+
13+
如果觉得本项目有帮助记得给个star~
14+
15+
## 项目特点
16+
17+
1. 使用Vue.js做为整体框架
18+
2. 使用HTML5的indexDB做为本地数据库
19+
3. 异步api全部使用Promise封装
20+
4. 前端页面很简单,主要的时间花在了api上
21+
5. 基于多方面考虑做了用户系统,不同用户有独立的学习进度
22+
23+
因为项目使用了indexDB这种浏览器本地数据库来储存数据,
24+
不同机器间学习数据不互通。但又因为在本地就有用户系统,
25+
之后能很方便的把数据接上云端。
26+
27+
之所以使用indexDB是因为学习进度需要被长久保存,
28+
在Web端能满足需求的只有localStorage和indexDB。
29+
但在这种应用使用localStorage太不优雅了,所以你懂的。
30+
31+
## 技术栈
32+
33+
Vue + Vuex + Vue-router + indexDB
34+
35+
## 代码说明
36+
37+
本项目核心是两个封装好的api,位于```/src/api```目录下,剩余的都是在一般的vue项目里很常见的代码,花一点时间就能看懂故不多介绍。
38+
39+
### /src/api/cache.js
40+
- 操作本地数据库indexDB的api,类似于MVC模型中的M和V
41+
- 因为indexDB是异步读写,所以每个api都用到了Promise
42+
- 数据库设计了三个表,每个表的数据结构在代码内有详细介绍。
43+
- user表,储存用户基本信息,比如用户名和密码。
44+
- learned表,储存用户对每个单词的熟悉度,记忆周期等数据
45+
- progress表,储存用户对每个list的学习进度等信息(这个表好像有点鸡肋,但一时半会也想不出更好的能满足需求的方案,相当于为了查询性能做了数据储存的冗余的操作)
46+
47+
### /src/api/word.js
48+
- 应用层api,类似于MVC模型的C
49+
- 包含诸如"获取下一批要复习的单词"这样的api
50+
- 艾宾浩斯记忆周期和《17天搞定GRE单词》中的方法在这里体现
51+
52+
## 本地安装与使用
2253

23-
### Lints and fixes files
24-
```
25-
npm run lint
2654
```
55+
# 下载项目到本地
56+
git clone https://github.com/chenstarx/vue-vocabulary
2757
28-
### Customize configuration
29-
See [Configuration Reference](https://cli.vuejs.org/config/).
58+
# 进入项目文件夹
59+
cd vue-vocabulary
60+
61+
# 安装npm依赖
62+
npm install
63+
64+
# 开发模式运行
65+
npm run serve
66+
```

0 commit comments

Comments
 (0)