Preface
Note
About
This section briefly introduces the author, the coverage of this book, the technical skills you'll need to get started, and the hardware and software requirements required to complete all of the included activities and exercises.
About the Book
MongoDB, Express, Angular, and Node.js Fundamentals begins by demystifying the MEAN architecture. You will take a look at the features of the JavaScript technologies, frameworks, and libraries that make up the MEAN stack. You will learn how to develop a RESTful API using Node.js, Express.js, and MongoDB Atlas. You will also learn how to build a blogging application using the MEAN stack. Next, you will learn about authentication using the MEAN stack, and explore the features of Angular, such as pipes, reactive forms, modules, optimizing apps, animations, and unit testing, and much more. By the end of the book, you will have all the knowledge you need to become a pro at developing efficient web applications using JavaScript technologies.
About the Author
Paul Oluyege is a full-stack software engineer who currently works as the software engineering lead in a top consumer credit company in Nigeria. With over 5 years of experience in all fields of the software development life cycle and after playing integral roles in building well-tested, rock-solid software projects, Paul is dedicated to constantly improving tools and infrastructure to maximize productivity, minimize system downtime, and quickly respond to the changing needs of a business. He is a proactive problem solver and a determined achiever looking for opportunities to prove himself.
Objectives
Understand the MEAN architecture
Create RESTful APIs to complete CRUD tasks
Build a blogging application with basic features
Create simple animations using Angular
Perform unit testing on Angular applications
Audience
MongoDB, Express, Angular, and Node.js Fundamentals is ideal for beginner and intermediate frontend developers who want to become full-stack developers. You will need some prior working knowledge of JavaScript and MongoDB as we skim over its basics and get straight to work.
Approach
MongoDB, Express, Angular, and Node.js Fundamentals takes a hands-on approach to teach you how to build professional full-stack web applications. It contains multiple activities that use real-life business scenarios for you to practice and apply your new skills in a highly relevant context.
Hardware Requirements
For an optimal student experience, we recommend the following hardware configuration:
Processor: Intel Core i5 or equivalent
Memory: 4 GB RAM
Storage: 35 GB available space
Software Requirements
You'll also need the following software installed in advance:
OS: Windows 7 SP1 64-bit, Windows 8.1 64-bit, or Windows 10 64-bit
Browser: Google Chrome, latest version
Postman | API Development Environment, latest version
Visual Studio Code, latest version
Node.js LTS 8.9.1 installed
Angular 7 CLI 7.21 installed
Express.js
MongoDB Atlas
Installation and Setup
Before you start this book, we'll install Node.js, set up a MongoDB Atlas account, and install Angular 7 CLI, Express, Postman, and the other libraries used throughout this book. You will find the steps to install and set them up here.
Installing Node.js
Install Node.js by following the instructions at this link: https://nodejs.org/en/download/.
Setting up MongoDB Atlas
To set up a MongoDB Atlas account, go to the following link: https://www.mongodb.com/cloud/atlas
Installing Angular 7 CLI
Install Angular 7 CLI by following the instructions at this link: https://cli.angular.io/.
Installing libraries
Install Node.js libraries using the following command format:
npm install <library-name> --save
To install Express.js, for example, use this command:
npm install express --save
Installing Postman
Install Postman by following the instructions at this link: https://www.getpostman.com/downloads/.
Installing Visual Studio Code
Install Visual Studio Code by following the instructions at this link: https://code.visualstudio.com/download/.
Additional Resources
The code bundle for this course is also hosted on GitHub at https://github.com/TrainingByPackt/MongoDB-Express-Angular-and-Node.js-Fundamentals.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
Conventions
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "We use var fs = require('fs') to declare fs (a filesystem variable) and assign the filesystem module to it."
A block of code is set as follows:
interface LoginResponse { accessToken: string; accessExpiration: number; } this.http.post<LoginResponse>('api/login', { login: 'foo', password: 'bar' }).subscribe(data => { console.log(data.accessToken, data.accessExpiration); });
New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Create the Post Create/Edit form components"