What I do with my dd is I just use children's books that have entertaining stories and I put the vocabulary on note cards, but I mix them up so that they won't be in order of the story. I give her 10 new cards a week. Some of the cards will be just strictly vocabulary words (with the article) other times it will be a phrase that needs to be learned as a whole like "habia una vez". I just do flash card word quizes with her every day and she usually has them mastered by Friday. Then on Friday we have a "beat the clock" race where I set the timer and call out the words and she has to answer them as quickly as she can. I usually do about 4 rounds of that starting with 50 seconds, then 40, then 30 and then 20. If she can beat the clock I give her a prize, usually a piece of candy or 50 cents or something small like that.
I just do that every week with new cards until she has mastered all of the vocabulary for that story then I give her the book turned to the page of the story (which she doesn't know beforehand what it will be although sometimes she guesses. ;) ) and I have her read the whole story to me in Spanish and translate it into English for me. She likes it, it's fun for us and it cements the language for her.