exercism.io is a series of programming challenges ranging from simply saying "Hello" to linked lists and tree-type data structures to translating RNA sequences into proteins.
Submissions and retrieval of questions all happen from a command line interface (CLI) such as exercism fetch ruby
to fetch the next question.
When you get a new question, it comes with a series of Minitest tests and your goal is to write functionality to get the entire test suite to pass.
Once you submit (via the CLI), you are encouraged to make several refactoring iterations to come up with more eloquent solutions and your submissions can be commented on by others.
You can check out my profile at http://www.exercism.io/systemnate. I try to about solve 3-5 per week.