Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Angular & NodeJS - The MEAN Stack Guide
Getting Started
Introduction (1:54)
What is MEAN? (10:35)
What is a Single Page Application (SPA)? (2:08)
How Does the MEAN Stack Work? (2:58)
Installing Node & the Angular CLI (7:50)
Join our Online Learning Community
Installing our IDE (3:13)
Exploring the Project Structure (4:02)
Course Outline (3:27)
How To Get The Most Out Of This Course (2:47)
Section Resources
The Academind Pro Referral Program
The Angular Frontend - Understanding the Basics
Module Introduction (1:40)
Understanding the Folder Structure (6:40)
Understanding Angular Components (2:39)
Adding our First Component (8:01)
Listening to Events (3:43)
Outputting Content (5:34)
Getting User Input (6:03)
Installing Angular Material (15:34)
Adding a Toolbar (3:57)
Outputting Posts (6:37)
Diving Into Structural Directives (5:40)
Creating Posts with Property & Event Binding (7:38)
Creating a Post Model (4:35)
Adding Forms (8:18)
Getting Posts from Post-Create to Post-List (9:26)
Calling GET Post (11:14)
More About Observables (5:51)
Working on our Form (3:51)
Section Resources
Adding NodeJS to our Project
Module Introduction (2:03)
Connecting Node & Angular - Theory (4:37)
What is a RESTful API? (4:45)
Adding the Node Backend (8:20)
Adding the Express Framework (7:37)
Improving the server.js Code (4:40)
Fetching Initial Posts (5:57)
Using the Angular HTTP Client (9:20)
Understanding CORS (5:31)
Adding the POST Backend Point (5:27)
Adding Angular (5:07)
Section Resources
Working with MongoDB
Module Introduction (1:04)
What is MongoDB? (1:48)
Comparing SQL & NoSQL (4:26)
Connecting Angular to a Database (2:07)
Setting Up MongoDB (5:14)
Adding Mongoose (3:01)
Understanding Mongoose Schemas & Models (5:45)
Creating a POST Instance (4:08)
Connecting our Node Express App to MongoDB (3:10)
Storing Data in a Database (5:51)
Fetching Data From a Database (5:34)
Transforming Response Data (5:07)
Deleting Documents (7:37)
Updating the Frontend after Deleting Posts (3:02)
Adding Posts with an ID (7:07)
Section Resources
Enhancing the App
Module Introduction (1:11)
Adding Routing (10:12)
Styling Links (3:59)
Client Side vs Server Side Routing (2:44)
Creating the "Edit" Form (10:38)
Finishing the Edit Feature (11:09)
Updating Posts on the Server (9:21)
Re-Organizing Backend Routes (5:54)
Adding Loading Spinners (9:05)
Section Resources
Adding Image Uploads to our App
Module Introduction (0:44)
Adding the File Input Button (4:51)
Converting the Form from a Template Driven to a Reactive Approach (13:41)
Adding Image Controls to Store the Image (6:59)
Adding an Image Preview (4:58)
Starting with the Mime-Type Validator (8:20)
Finishing the Image Validator (7:17)
Adding Server Side Upload (8:23)
Uploading Files (6:05)
Working with the File URL (6:18)
Fetching Images on the Frontend (6:37)
Updating Posts with Images (13:20)
Wrap Up (0:54)
Section Resources
Adding Pagination
Module Introduction (1:04)
Adding the Pagination Component (7:18)
Working on the Pagination Backend (8:08)
Connecting the Angular Paginator to the Backend (5:24)
Fetching Posts Correctly (6:09)
Finishing Touches (4:48)
Section Resources
Adding User Authentication
Module Introduction (0:59)
Adding the Login Input Fields (8:15)
Handling User Input (3:42)
Adding the Signup Screen (3:32)
Creating the User Model (6:23)
Creating a New User Upon Request (5:30)
Connecting Angular to the Backend (6:38)
Understanding SPA Authentication (3:39)
Implementing SPA Authentication (9:32)
Sending the Token to the Frontend (5:43)
Adding Middleware to Protect Routes (11:47)
Adding the Token to Authenticate Requests (13:45)
Improving the UI Header to Reflect the Authentication Status (7:23)
Improving the UI Messages to Reflect the Authentication Status (6:19)
Connecting the Logout Button to the Authentication Status (2:32)
Redirecting Users (4:25)
Adding Route Guards (6:48)
Reflecting the Token Expiration in the UI (6:12)
Saving the Token in the Local Storage (15:54)
Section Resources
Authorization
Module Introduction (1:09)
Adding a Reference to the Model (3:28)
Adding the User ID to Posts (7:02)
Protecting Resources with Authorization (8:19)
Passing the User ID to the Frontend (7:24)
Using the User ID on the Frontend (5:11)
Section Resources
Handling Errors
Module Introduction (1:14)
Testing Different Places to Handle Errors (9:49)
The Error Interceptor (8:01)
Displaying the Basic Error Dialog (5:13)
Adding an Error Dialog (5:26)
Returning Error Messages on the Server (7:10)
Finishing Touches (3:03)
Section Resources
Optimizations
Module Introduction (0:34)
Using Controllers (8:16)
Separating the Middleware (3:30)
Creating an Angular Material Module (4:20)
Splitting the App Into Feature Modules (5:14)
Fixing an Update Bug (2:31)
Creating the Auth Module (4:08)
Adding Lazy Loading (9:35)
Fixing the Auth Guard
Using a Global Angular Config (6:18)
Using Node Environment Variables (5:26)
Section Resources
Deploying our App
Module Introduction (0:40)
Deployment Options (3:59)
Deploying the REST Api (13:34)
Angular Deployment - Finishing the Two App Setup (9:51)
Using the Integrated Approach (9:37)
Section Resources
Course Roundup
Roundup (2:05)
Fetching Data From a Database
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock