README.md: better organization.

pull/17/head
Lan Hui 2021-10-17 14:54:48 +08:00
parent 84e98d8bd9
commit 4c9b471317
1 changed files with 64 additions and 51 deletions

115
README.md
View File

@ -17,53 +17,46 @@ picked from articles selected for him according his vocabulary level.
Run it on a local machine
-------------------------
python3 main.py
`python3 main.py`
Make sure you have the SQLite database file in `app/static` (see below).
Run it as a Docker container
----------------------------
Run it within Docker
--------------------
Assuming that docker has been installed and that you are a sudo user (i.e., sudoer), start the program by typing the following command in directory `EnglishPal`:
Assuming that docker has been installed and that you are a sudoer ...
`sudo ./build.sh`
ssh to ubuntu@118.25.96.118
Open your favourite Internet browser and enter this URL address: `http://ip-address:90`.
cd to /home/lanhui/englishpal
Explanation on the commands in build.sh
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\# Stop all docker service
My steps for deploying English on the server.
sudo service docker restart
- ssh to ubuntu@118.*.*.118
\# If you know the container ID, then the above comamnd is an overkill. Use the following command instead.
- cd to /home/lanhui/englishpal
sudo docker stop ContainerID
- Stop all docker service: `sudo service docker restart`. If you know the docker container ID, then the above command is an overkill. Use the following command instead: `sudo docker stop ContainerID`. You could get all container IDs with the following command: `sudo docker ps`
\# You could get all container ID with the following command.
- Rebuild container. Run the following command to rebuild a docker image after the code gets updated: `sudo docker build -t englishpal .`
sudo docker ps
- Run the application: `sudo docker run -d -p 90:80 -v /home/lanhui/englishpal/app/static/frequency:/app/static/frequency -t englishpal`. If you use `sudo docker run -d -p 90:80 -t englishpal`, data will be lost after terminating the program.
\# Rebuild container. Run this after modifying the source code.
sudo docker build -t englishpal .
\# Run the application
sudo docker run -d -p 90:80 -v /home/lanhui/englishpal/app/static/frequency:/app/static/frequency -t englishpal \# for permanently saving data
sudo docker run -d -p 90:80 -t englishpal \# data will be lost after existing
\# Save space. Run it after sudo docker run
sudo docker system prune -a -f
- Save space: `sudo docker system prune -a -f`
\# Other commands
Other useful docker commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sudo docker ps -a
- `sudo docker ps -a`
sudo docker logs image_name, where image name could be obtained from sudo docker ps.
- `sudo docker logs image_name`, where image_name could be obtained from `sudo docker ps`.
build.sh contains all the above commands. Run "sudo ./build.sh" to rebuild the web application.
`build.sh` contains all the above commands. Run "sudo ./build.sh" to rebuild and run the web application.
@ -73,10 +66,15 @@ Update articles
All articles are stored in the `article` table in a SQLite file called
`app/static/wordfreqapp.db`.
### Adding new articles
Adding new articles
~~~~~~~~~~~~~~~~~~~~~
To add articles, open and edit `app/static/wordfreqapp.db` using DB Browser for SQLite (https://sqlitebrowser.org).
Exporting the database
~~~~~~~~~~~~~~~~~~~~~~~~
Export wordfreqapp.db to wordfreqapp.sql using the following commands:
- sqlite3 wordfreqapp.db
@ -89,30 +87,32 @@ Export wordfreqapp.db to wordfreqapp.sql using the following commands:
Put wordfreqapp.sql (not wordfreqapp.db) under version control.
### Creating SQLite file from wordfreqapp.sql
Creating SQLite file from wordfreqapp.sql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create wordfreqapp.db using this command: `cat wordfreqapp.sql |
sqlite3 wordfreqapp.db`. Delete wordfreqapp.db first if it exists.
### Uploading wordfreqapp.db
Uploading wordfreqapp.db
~~~~~~~~~~~~~~~~~~~~~~~~~
pscp wordfreqapp.db lanhui@118.25.96.118:/home/lanhui/englishpal/app/static
`pscp wordfreqapp.db lanhui@118.*.*.118:/home/lanhui/englishpal/app/static`
Feedback
---------
---------------------
### Respondent 1 -- Tianhua
Respondent 1
~~~~~~~~~~~~~
Need a phone app. I use phone a lot. You cannot ask students to use computers.
"Need a phone app. I use phone a lot. You cannot ask students to use computers."
Can take a picture for text. Automatic translation.
### Respondent 2 --- Paid 10 yuan
Respondent 2
~~~~~~~~~~~~
“成为会员”改成“注册”
@ -120,30 +120,41 @@ Can take a picture for text. Automatic translation.
“收集生词吧”改成“生词收集栏”
***不要自动显示下一篇
“不要自动显示下一篇”
需要有“上一篇”、“下一篇”
### TODO
Fix Bug: Internal server error when register using email address.
Bug tracking
-------------------
Usability testing
EnglishPal's bugs and improvement suggestions are recorded in [Bugzilla](http://118.25.96.118/bugzilla/buglist.cgi?bug_status=__all__&list_id=1302&order=Importance&product=EnglishPal&query_format=specific). Send (lanhui at zjnu.edu.cn) an email message for opening a Bugzilla account or reporting a bug.
TODO
----------
- Fix Bug: Internal server error when register using an email address.
- Usability testing
Improvements made by contributors
-----------------------------------
- 朱文绮
朱文绮
~~~~~~~~~
在生词簿每个单词后面,加上两个按钮,熟悉与不熟悉:
1.如果点熟悉就将生词簿中该单词后面记录的添加次数减一直至减为0就将该单词从生词簿中移除。
- 如果点熟悉就将生词簿中该单词后面记录的添加次数减一直至减为0就将该单词从生词簿中移除。
2.如果点不熟悉,就将生词簿中该单词后面记录的添加次数加一。
- 如果点不熟悉,就将生词簿中该单词后面记录的添加次数加一。
- 李康恬
李康恬
~~~~~~~~~~~
Add the function of "Delete already known and well-known words from
the words' library", on the one hand, it can conform to the usage
@ -155,7 +166,8 @@ can also improve the simplicity of the page.
More information at: http://118.25.96.118/kanboard/?controller=TaskViewController&action=readonly&task_id=736&token=81a561da57ff7a172da17a480f0d421ff3bc69efbd29437daef90b1b8959
- 占健豪
占健豪
~~~~~~~~
Click the Familiar or Unfamiliar button (current word frequency>1), the current word position is displayed at the top of the page;
@ -163,13 +175,14 @@ Click the Familiar or Unfamiliar button (current word frequency is 1), and the p
Demo video link: https://b23.tv/QuB77m
- 张小飞
张小飞
~~~~~~~~~~~~
修复了以下漏洞。
漏洞:用****这段字符可以作为任何账号的密码登录。
漏洞:用 ` or 1=1` 这段字符可以作为任何账号的密码登录。
Bug report: http://118.25.96.118/bugzilla/show_bug.cgi?id=215
*Last modified on 2021-07-16*
*Last modified on 2021-10-17*