Skip to content

A Ruby on Rails based application to learn a new language and keep track of your progress on vocabulary and pronunciation.

Notifications You must be signed in to change notification settings

goyalmunish/manage-words

Repository files navigation

Table of Contents generated with DocToc

Manage Words

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.

Setup

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

How to use?

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.

About

A Ruby on Rails based application to learn a new language and keep track of your progress on vocabulary and pronunciation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •