One of my favourite applications when it comes to learning, that is revising is FlashQard.
FlashQard is an educational software to improve your learning process. It is designed to help you learn not only a new language but anything that can be learnt!
This aim is achieved by using the widely used method, called Leitner System, and the idea of "different card types for different purposes".
Leitner System (proposed by Sebastian Leitner in the 1970s) is one the most efficient methods for learning. Which allows you to focus on the most difficult flashcards and not waste your time on what you have already learnt.