Table of Contents generated with DocToc
Picking up a new language is a fun. Using manage-words
will make it cherry on the cake!
The app helps you in keeping track of vocabulary and pronunciation by providing random test based on various custom-defined filters and assigning comfort level depending on your performance.
Pull the docker image:
docker pull goyalmunish/manage-words:latest
Build the docker image locally (if you are developing locally):
git clone git@github.com:goyalmunish/manage-words.git
cd manage-words
docker build -t goyalmunish/manage-words -f Dockerfile ./
# push the image (for repo owner)
docker push goyalmunish/manage-words:latest
Running the docker image:
# running image in production mode
docker run -it -d --name manage-words -e PS_START=de-$(uname -n) -e HOST_PLATFORM=$(uname -s) -p 3000:3000 goyalmunish/manage-words
# running the image for development
cd manage-words/
docker run -it -d --name manage-words -e PS_START=de-$(uname -n) -e HOST_PLATFORM=$(uname -s) -p 3000:3000 -v $(pwd):/root/manage-words goyalmunish/manage-words /bin/bash -c "ping -i 0.2 $(gateway_ip)"
docker exec -it manage-words /bin/zsh
# start services in development mode
# exec into the container, and then
service mysql start; service memcached start
cd ~/manage-words
export RAILS_ENV=development
bundle exec rake db:create
bundle exec rake db:migrate
bundle exec rake db:seed
# start server in development mode
RAILS_ENV=development bundle exec rails server -b 0.0.0.0 -p 3000
# run console in development mode
RAILS_ENV=development bundle exec rails console
or, you can just run:
# running production image
RAILS_ENV=production . ./script/image.sh
# running development image
RAILS_ENV=development . ./script/image.sh
# just building and pushing the image
RAILS_ENV="" . ./script/image.sh
Debugging:
# tail logs
docker logs -ft manage-words
# exec into the container
docker exec -it manage-words /bin/zsh
cd manage-words
This is how your word list would look like:
which can be ordered and filtered using custom defined filters, such as below:
The plain text (for word or/and whole record), regex (for work or/and whole record) searches are supported.
Adjusting Comfort Levels:
During a test, once can upgrade or downgrade comfort level of that word in terms of meaning and pronunciation.
You can define your own comfort level flags:
Managing external dictionaries to get single click results:
Rather than searching google for meaning of the word you can configure the dictionary you like so that you get details of the word from external sites in a single click, such as following:
Make use of backup files:
Moreover, you have option to take backup of data (along with progress) or to make use of someboday's else data by uploading it.