
Build an authentication demo with a navigation menu that shows not logged in, displays the user's first and last name after login, login, register, and forgot password with email reset.
Explore setting up NestJS controllers, modules, services, and models, connect routes, implement a register endpoint with get and post requests, and test with Postman on port 3000.
Register users with a NestJS service using a user repository and a user interface with id, first name, last name, and email; implement a create method and return a promise.
Implement a login function that uses a post method to login, accepts email and password, validates the user by email, compares passwords with decrypt, and returns the user on success.
Generate a jwt as the default secure authentication, sign the user id payload with a secret via the jwt service, and store it in a http-only cookie for front-end security.
Learn to retrieve the authenticated user by reading the JWT from cookies, validating it, fetching the user by ID, and returning the user without the password.
Learn how to hide passwords in responses using interceptors in a NestJS app, and protect endpoints by validating JWT tokens with a JWT service and throwing unauthorized exceptions.
Build a forgot password flow by adding a reset model, service, and controller, creating a password_reset table with email and token, and exposing a post endpoint that returns success.
Create an Angular front end by scaffolding a new project with ng new, add routing and CSF, run ng serve, and view the app at localhost:4200.
Learn how to set up navigation in an Angular app by creating login, register, and home pages, wiring routes with router links and a router outlet to enable seamless navigation.
Build a minimal Angular register page with reactive forms for first name, last name, email, password, and password confirm, posting to the server and routing to login on success.
Fetch the authenticated user in the home component via http get, greet with the user's first and last name, and show a not-logged-in message with a logout option on error.
Implement cross-component authentication state using a shared event emitter to toggle login/register versus logout in the header, and call the server logout endpoint, then redirect to login upon success.
The lecture builds a reset password flow by creating a reset component with password and confirm fields, using a route token to post data and navigate to login.
Explore an admin dashboard demo showcasing daily sales charts, user and role management with permissions, product creation with image uploads, and order export with simple animations.
Install the latest version and create a new nest project with nest new, name it nest admin, then run the server to see HelloWallet at localhost:3000.
Connect to a database with TypeORM in NestJS, configure docker ports, and define a user entity with a primary key and unique email mapped to the users table; run migrations.
Set up a global api prefix for all endpoints and implement a register post endpoint using an authentication model and controller in the Angular & NestJS course.
Hash passwords using the decrypt library in a NestJS and Angular context, import the package, switch to decrypt-js for cross-platform compatibility, and verify via logs that the password is hashed.
Enforce validations for the register form using a register dto and class-validator decorators for not empty and email, plus a validation pipe to ensure password and password confirm.
Implement login functionality with a post request that validates email and password, fetches the user by email, checks the password, and handles not found or invalid credentials.
Generate and sign a jwt with the user id payload, store it as an httpOnly cookie named jwt, and use it to authenticate requests.
Fetch the authenticated user by extracting and verifying the JWT cookie from the request, then return the user data using Cookie Pather and enable credentials across the configured origin.
discover how nestjs interceptors mask sensitive fields using the class serializer interceptor, and apply the interceptor at the controller level to ensure user responses exclude passwords.
Create users in the Angular and NestJS course by implementing a post method, a user create detail, and password hashing, while securing routes with class serializer interceptor and old guard.
Share a JWT service across NestJS controllers by creating a common model, importing it into user and other models, exporting the JWT model, and verifying access after login.
Explore implementing full user rest API operations in angular and nestjs by adding a sync update method, handling put requests, and deleting users via the user service.
Implement pagination for the user list by using take and skip to fetch a page of users, return total count and current page, and hide passwords.
this lecture demonstrates building a roles module with a role entity, controller, and service, using a primary generated column and a name field, and implementing crud via a repository.
Learn how to implement a many-to-one relationship between users and roles using a foreign key, customize the join column name to role_id, and create and assign roles to users.
Add a permissions module by creating the permission entity, controller, and service, configure the permissions table and repository, and prepare for a many-to-many link with roles in the next tutorial.
Connect roles and permissions through a many-to-many relationship by creating a join table and cascading deletes. Learn attaching permissions, loading relations, and handling create and update flows.
Extend an abstract generic service in NestJS to unify create, find, update, and pagination across entities, integrate reusable repository access, support optional relations, and securely omit passwords in user responses.
Update the authenticated user’s first name, last name, and password (with hashing and confirmation) via put requests, and resolve circular dependencies with forwardRef.
create and manage a products module by defining a product entity with id, title, image, description, and price, wired through a nestjs service and controller for CRUD operations.
Create an upload controller using file interceptors, configure disk storage to save images in a dedicated uploads folder, and generate accessible image URLs in the complete Angular & NestJS course.
Create order and order item entities with one-to-many relations, including id, first name, last name, email, created date, and item details; expose a secured get orders endpoint that returns orders with items.
Expose fields in NestJS with a name getter (first + last name) and a total (sum of price times quantity for order items), using a class serializer interceptor.
Build a chart endpoint in a NestJS app using a raw SQL query that joins orders and order items, sums price times quantity by date, and returns daily sales.
Learn how to implement role-based access with a custom permission decorator and a permission guard in NestJS, enabling route protection and fine-grained control over who can access resources.
Enforce access control in NestJS by authenticating users, loading their role and permissions, and using a permission guard to grant view users and edit users rights for routes.
Install angular via the cli, create a new project named angular admin with ng new, enable routing, then run ng serve to launch the local server and view the url.
Learn how to set up routes in Angular, including login and register components, using a router outlet for nested routes in public and secure modules, and verify pages render correctly.
Create a login form using reactive forms with email and password, submit to the backend, handle jwt cookie and navigate to the dashboard.
Create clean angular authentication by building injectable services, handling login and register via the http client, and centralizing authentication endpoints with provided in root health service and observables.
Define a user interface and a role interface with id and name, import them, and type observables so the get method returns a user and the logging returns JWT.
Implement the logout flow by posting to the logout endpoint via the logout service, handling the void observable, and redirecting unauthenticated users to the login page.
Secure an Angular component by fetching the authenticated user from the OAuth service and redirecting unauthenticated users to login, using input to pass the user to child components.
Learn to automatically attach credentials to every HTTP request using an Angular interceptor. Create a credential interceptor, clone the request with credentials, and register HTTP interceptors to apply globally.
Create a secure profile page in an Angular and NestJS app that enables users to update their info and password through two reactive forms using form groups and a service.
Learn how to pass the current authenticated user between components with event emitters, dispatch from the secure component, subscribe in the profile component, and update a reactive form with patch.
Apply Angular fundamentals to fetch and display users by creating a user service, calling the users endpoint, subscribing to the observable, and rendering name, email, role, and action with pagination.
Create a users create form in the Angular NestJS course by adding a new button and building a reactive form with first name, last name, and email.
Fetch roles from the roles service and populate the role select, submit the form to the user service, and navigate to the users page after a successful creation.
Create a roles component, add it to the menu and routes, fetch and display roles from the service, and implement a delete function with confirmation that updates the list.
Create a role creation form in Angular and NestJS, wiring a permissions service to fetch API permissions and build a reactive form with a name field and permission checkboxes.
Create a reactive permissions form with a form array, building groups from a permissions loop and defaulting to false, then submit to the server via a role service.
Learn to update roles by loading a role via its id, editing the name and permissions in a form, and submitting updates through the role service with router navigation.
Create a reusable paginator component with an input for last page and an output pageChanged event to load products and users as pages change.
Add image uploading to the product creation flow with a dedicated component, handling file input and sending the image as form data via http post in a reactive form.
Create and wire the update product flow in Angular by building the component, loading the existing product, calling the product service to update, and navigating back to the products page.
Create an orders feature with an order component and service, extend rest service with orders endpoint, and define interfaces for order and order item, including pagination and a view route.
Define and apply angular animations by creating show and hide states, building an item state function, and triggering a 1000 ms height transition with max height 150 pixels.
Set up a Cloud SQL instance on Google Cloud, configure region and lightweight machine type, create the admin database, and test connections via the public IP after granting network access.
Create a production-ready multi-stage Docker build by using a builder stage to run npm install and compile, then copy only production files into a smaller Alpine image via Docker Compose.
Build and tag your api docker container, then push it to the Google Cloud Container Registry using the Google Cloud SDK.
Deploy the docker container on Cloud Run as a service named API, expose port 3000, and configure environment variables and secrets to connect to the database.
Configure and deploy the backend by setting production vs localhost, wiring the database URL and socket path, updating environment variables, building and pushing the Docker container, and deploying the API.
Welcome to The Complete Angular & NestJS Course - the perfect course for beginners, or anyone looking to brush up on their Angluar/NestJS skills!
Angular was created by Google and is used by Microsoft, Samsung, Deutsche Bank, PayPal, and more!
NestJS is an Angular-inspired NodeJS framework for building efficient, reliable and scalable server-side applications.
The average Angular Developer salary in the US is $112,292 per year(!)
By the end of this course you'll have built a stand-alone admin app and an online authentication web app from scratch!
Master the skills, tips and tricks you need to create your own projects using Angular and NestJS, and give your coding career a kickstart at the same time!
Students start with the basics, before moving on to the two big practical projects...
Login/Password web app, with:
Sign in form
User registration form
Forgot password function (with email)
Password reset form
Stand-alone admin app, with:
Admin dashboard
Daily sales chart
Ability to create, update and delete users
Ability to assign levels of user access
List products (with image, price and description)
Animate user orders
Deploy the app to Google Cloud
Created especially for Codestars students, The Complete Angular & NestJS Course combines two of Antonio Papa’s original short courses (Angular and NestJS: A Practical Guide with Docker, and Angular and NestJS Authentication: Forgot and Reset Password) with 1.5 hours of BRAND NEW material!
Across the course and the two practical projects, you will learn the following elements of Angular and NestJS:
In NestJS you will learn:
Use Docker
Use TypeORM and connect with MySQL
Use Typescript
Use Interceptors and Guards
Create custom Decorators
Validate Requests
Generate Jwt Tokens
Use HttpOnly Cookies
Upload Images
Export CSV's
Create public and secure routes
Run Migrations
Send Emails
In Angular you will learn:
How to use Angular CLI
Create classes, interfaces, abstract classes
Use interceptors
Create public and private routes
Angular Animations
Upload Images
Export CSV's
Build a chart with c3.js (part of d3.js)
Use Reactive Forms
Create components and routes
Consume API calls
Use Event Emitters
Perfect for beginners, or anyone new to Antonio’s courses, plus Antonio explains everything he does on screen… and if you ever get stuck, just post in the course Q&A forum and Antonio will reply asap!
Enjoy the course!