This seems more like creating an entire service from start-to-finish rather than an exercise on learning a language. I appreciate the authors are likely trying to do this because the exercise touches on so many different areas, but personally I'd be put off by this, when learning it's always more enticing to go for bite-size challenges, so you can see progress easier and create milestones/goals.