What this book covers
Chapter 1, Node.js Fundamentals, teaches the basics of Node.js, what stands behind the technology, and its module management system and package manager.
Chapter 2, Architecting the Project, reveals the power of build systems such as Gulp. Before starting with our social network, we will plan the project. We will talk about test-driven development and the Model-View-Controller pattern. The chapter will cover the Node.js modules that are needed to bootstrap the project.
Chapter 3, Managing Assets, covers the building of a web application. So, we have to deal with HTML, CSS, JavaScript, and images. In this chapter, we will go through the processes behind the serving of assets.
Chapter 4, Developing the Model-View-Controller Layers, is about the basic structure of our application. We will create classes for views, models, and controllers. In the next few chapters, we will use these classes as a base.
Chapter 5, Managing Users, is about implementing user registration, authorization, and profile management.
Chapter 6, Adding Friendship Capabilities, explains one of the main concepts behind modern social networks—friendship. The ability to find friends and follow their walls is an important part. This chapter is dedicated to the development of this relationship between users.
Chapter 7, Posting Content, states that the backbone of every social network is the content that users add into the system. In this chapter, we will implement the process of post making.
Chapter 8, Creating Pages and Events, states that providing the ability to users to create pages and events will make our social network more interesting. Users can add as many pages as they want. Other users will be able to join the newly created places in our network. We will also add code to collect statistics.
Chapter 9, Tagging, Sharing, and Liking, explains that besides posting and reviewing content, the users of a social network should be able to tag, share, and like posts. This chapter is dedicated to the development of these functions.
Chapter 10, Adding Real-time Chat, talks about the expectations of users, in today's world, to see everything that is happening right away. They want to communicate faster with each other. In this chapter, we will develop a real-time chat so that the users can send messages instantly.
Chapter 11, Testing the User Interface, explains that it is important to get the job done, but it is also important to cover working functionalities with tests. In this chapter, we will see how to test a user interface.