At the beginning of this chapter, we had some basic HTML pages that appear in a browser via our application, but they contained no content and no logic whatsoever. We implemented the logic for each of our controllers and learned about the view model and how to populate pages with content.
In addition to displaying content on our pages via a view model, we also implemented the code to handle uploading and saving image files to the local file system.
We tweaked the UI slightly to include some subtle enhancements using jQuery by revealing the comment form and used AJAX to track likes instead of a relying on a full-page postback.
Now that the groundwork has been laid for our view models and controllers, let's tie it all together using MongoDB and start working with real data. In the next chapter, we will update the controllers once again, this time implementing the logic to read from and save data to our MongoDB server.