We're going to add some backend code in Ruby so that we have an API server for our view to connect to. This will allow us to save our todo list between browser sessions. It will also lay the foundation for many new features that we might want to add in the real world, such as sharing lists with other people, user management, and sending e-mail reminders about unfinished todos.
So where do we start with our backend code? With BDD, we keep going from the outside in. We'll just make a small change to our AngularJS service to rely on an HTTP API. That will give us a list of endpoints that our API server needs to handle and a good starting place for our work on the backend. This is one of the benefits of BDD. It points the way to the exact code we need to write along the way, taking the guesswork out of where to start.
Let's replace static/js/mock_todo_list.js
with static/js/todo_list.js
with the following contents:
'use strict'; // define the model to handle the data...