Over the course of this section the Node, Backbone, and MongoDB concepts from Part I will be combined to demonstrate how you can build a communication application in the style of a social network. This basic but functional site will enable its users to authenticate securely, manage a list of contacts (or “friends”), chat, and view updates in real time.
Before starting any project it is a good idea to take some time to understand what your goals are and decide how to organize your work. It is far easier to make changes at this early stage than later once many files have been added to the application.
Chapter 1 introduced the social network application that will be built over the course of this book. As you build out the functionality you will find yourself ending up with two complementing MVC systems: one for the frontend that appears in the web browser, and the other for the backend Node services running on the web server. The directory structure will be set up in a way that makes it easy for you to come back and understand (not to mention makes it simple for newcomers to come onboard), and facilitate code reuse.
Additionally, a package definition file will be created to document the dependencies needed by the application. All of the third-party libraries and supporting software will be controlled by the package file, and later on this will define the entry point for submodules you will add to the application. The package file can later be used to ...