Preface

The MEAN stack (MongoDB, Express.JS, AngularJS, and Node.JS) is a killer JavaScript full stack combination. It provides agile development without compromising on performance and scalability. It is ideal to build responsive applications with a large user base.

All topics in this course have been covered in individual modules so that you develop your skill after the completion of a module and get ready for the next. Through this comprehensive course, you'll learn how to use MEAN for web development from scratch to finish!

The first module will help you set up your environment and explain how to connect the different MEAN components together using the best modules. You'll be introduced to the best practices of maintaining your code clear and simple and how to avoid common pitfalls. We'll walk through building your authentication layer and adding your first entity. You'll learn how to leverage JavaScript nonblocking architecture in building real-time communication between your server and client applications. Finally, we'll show you how to cover your code with the proper tests and what tools to use to automate your development process.

The second module will teach you how to create your own e-commerce application using the MEAN stack. It will take you step by step through the process of learning and building parallelly. Using this guide, you will be able to show a product catalog, add products to shopping carts, and perform checkouts. It will cover product categorization, search, scalable deployment, server setups, and other features. At the end of this module, you will have a complete e-commerce application that is fully tested, scalable, and alive. Additional topics on how to scale the application, server deployment, and security will also be discussed.

In the last leg of this course, serves as a guide and a higher perspective of applications built using the MEAN stack. It is a showcase of different scenarios of building applications using the MEAN stack. Probably it's not the only way of doing things, but it should provide you with a starting point, or give you an insight into how certain parts of an app are built.. It will jump right into action and showcase six built-from-the-beginning applications, each with different use cases and solving a high-level problem.

What this learning path covers

Module 1, MEAN Web Development, Starting with MEAN core frameworks, this project-based guide will explain the key concepts of each framework, how to set them up properly, and how to use popular modules to connect it all together. By following the real-world examples shown in this tutorial, you will scaffold your MEAN application architecture, add an authentication layer, and develop an MVC structure to support your project development. Finally, you will walk through the different tools and frameworks that will help expedite your daily development cycles.

Module 2, Building an E-Commerce Application with MEAN, This module will show you how to create your own e-commerce application using the MEAN stack. It will take you step by step through the parallel process of learning and building. It will also teach you to develop a production-ready, high-quality e-commerce site from scratch and will provide the knowledge you need to extend your own features to the e-commerce site. By the end of the module, you will be able to build and use your own e-commerce app in the real world and will also be able to add your own new features to it.

Module 3, MEAN Blueprints, each chapter in this module covers a complete, single, advanced end-to-end project. You'll learn how to build complex real-life applications with the MEAN stack and few more advanced projects. You will become familiar with WebSockets and build real-time web applications, as well as create auto-destructing entities. Later, we will combine server-side rendering techniques with a single page application approach. You'll build a fun project and see how to work with monetary data in Mongo. You will also find out how to a build real-time e-commerce application. By the end of this course, you will be a lot more confident in developing real-time, complex web applications using the MEAN stack.

What you need for this learning path

Module 1:

This module is suitable for beginner and intermediate web developers with basic knowledge in HTML, CSS, and modern JavaScript development.

Module 2:

For this module, you need a basic understanding of JavaScript, HTML, and CSS. You will also need the following tools:

  • A text editor or IDE (for example, Sublime Text, Cloud9, Eclipse, Notepad++, Vim, and so on)
  • A command-line terminal
  • NodeJS (https://nodejs.org/)
  • MongoDB (https://www.mongodb.org/)
  • Accounts on social network (for example, Facebook, Twitter, or Google+) and, optionally, accounts on PayPal.
  • Access to a cloud server, either Heroku, Digital Ocean, or similar.

Module 3:

You will require any modern web browser (such as Chrome's latest version or IE 10+), the Node.js platform installed on your machine, and version 3.2 or higher of MongoDB. Optionally, you can install any web server, such as Nginx, Apache, IIS, or lighttpd, to proxy requests to your Node.js application.

Who this learning path is for

This learning path is for web developers who are experienced in developing applications using JavaScript. This course is for developers who are interested in learning how to build modern and multiple web applications using MongoDB, Express, AngularJS, and Node.js.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this course—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail , and mention the course's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt course, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for this course from your account at http://www.packtpub.com. If you purchased this course elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

You can download the code files by following these steps:

  1. Log in or register to our website using your e-mail address and password.
  2. Hover the mouse pointer on the SUPPORT tab at the top.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the course in the Search box.
  5. Select the course for which you're looking to download the code files.
  6. Choose from the drop-down menu where you purchased this course from.
  7. Click on Code Download.

You can also download the code files by clicking on the Code Files button on the course's webpage at the Packt Publishing website. This page can be accessed by entering the course's name in the Search box. Please note that you need to be logged in to your Packt account.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR / 7-Zip for Windows
  • Zipeg / iZip / UnRarX for Mac
  • 7-Zip / PeaZip for Linux

The code bundle for the course is also hosted on GitHub at https://github.com/PacktPublishing/Web-Application-Development-with-MEAN. We also have other code bundles from our rich catalog of course and videos available at https://github.com/PacktPublishing/. Check them out!

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our courses—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this course. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your course, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the course in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors and our ability to bring you valuable content.

Questions

If you have a problem with any aspect of this course, you can contact us at , and we will do our best to address the problem.