Studying languages is a longtime hobby of mine, so I've developed some pretty strong opinions on the best ways (for me) to learn. For example, I like to have a full overview of the language's grammar from the start so that I can study it as a complete system. I also like dabbling in interesting and specific vocabulary; it's more fun than "house" and "ball" and helps to build pattern recognition and prediction skills for the times that I need to guess a meaning.
Word Llama materializes these preferences, and I'm using it personally for a few langauges that I'm studying for fun. It has multiple drill types to ease you through from recognition to full recall, there's a spaced repetition feature, list sharing, customizable lists, a big bank of pre-loaded vocabulary, verb conjugation drills, and even a fun feature for assembling sentences.
You can try it out here!