Course Highlights
  • Code in Github repository with downloadable ZIP files per section
  • Learn the Typescript language in depth, including it's most advanced features
  • Build practical real-world project in both the backend and the frontend
  • Every feature covered, including: Object Oriented Programming, Generics, Decorators
  • Build a Secure Node REST API with Express and TypeORM
Curriculum

9 Topics
Typescript: The Ultimate Bootcamp - Helicopter View
IMPORTANT
Setting Up the Development Environment - Node Git and IDE
Why Typescript? Understand the Key Benefits of the Language
Quiz - Understanding the benefits of the Typescript language
Compiling Your First Typescript Program
Quiz - Understand the basics of the Typescript compiler
The Typescript compiler noEmitOnError flag
Running a Typescript Program in a Browser

29 Topics
Understanding the differences between const let and var
Quiz - Understand the differences between const let and var
Typescript primitive types - numbers strings and booleans
Quiz - Primitive Types
Typescript Template Strings
Quiz - Template Strings
Understanding Type Inference - The most powerful feature of Typescript
When to use Typescript Type Annotations and Why
Quiz - Type Inference
Typescript Static Type System vs Javascript Dynamic Type System
Typescript Primitive Types - Objects
Typescript Nested Object Types
Understanding the Differences Between Null and Undefined
Quiz - Null vs Undefined
Typescript Optional Chaining - How To Avoid Null-Related Errors
Understanding The Typescript Null Coalescing Operator
Typescript Optional Chaining - Best Practices For When To Use It Or Not
Typescript Primitive Types - Arrays
Typescript Enums - Our First Custom Type
Understanding The Typescript Any Type - And Why You Should Avoid It
Avoid Implicit Any Types With The noImplicitAny Compiler Flag
Understanding Typescript Union Types - Nullable Variables
Typescript Non Null Assertion Operator
Typescript Strict Null Checks and the strictNullChecks Compiler Flag
Understanding Typescript Literal Types - When Are They Useful?
Understanding Typescript Type Aliases - Our First Custom Type
Typescript Interfaces - Defining Custom Object Types
Typescript Type Aliases vs Interfaces - When to Use Which And Why?
Understanding Typescript Type Assertions

3 Topics
Introduction To Typescript Modules - Exports and Imports
Typescript Module Re-Exports - Building an Import Barrel
Typescript Modules - Default Exports And The Import As Syntax

9 Topics
Arrow Functions vs Normal Functions - Understanding The This Context
Typescript Default Function Parameters
The Typescript Object Spread Operator
Typescript Object Destructuring
Typescript Array Spread and Destructuring Operators
Typescript Rest Function Arguments
Debugging Typescript In The Browser - Step-By-Step Tutorial
Debugging Typescript In Node - Step-By-Step Tutorial
Typescript Shorthand Object Creation Notation

3 Topics
Introduction to Typescript Functions
Typescript Functions At Runtime - Function Values
Typescript Custom Function Types

5 Topics
Typescript Tuples - How To Use Them?
Understanding The Typescript Unknown Type
Understanding Typescript Type Narrowing and Type Predicates
Understanding Typescript Never Type
Typescript Intersection Types

11 Topics
Introduction to tsconfig.json - The target Property
Using a Custom Name for the Compiler Configuration File
Controlling What Files To Compile - The files tsconfig.json property
Controlling What Files To Compile - include and exclude
The tsconfig.json outdir and rootDir properties
The tsconfig.json module property
Choosing What Libraries To Include Wth tsconfig.json lib and nolib properties
Typescript Compiler baseUrl Option
Understanding typeRoots types and the skipLibCheck Compiler Options
Including Plain Javascript in a Typescript project - allowJs and checkJs
Typescript Compiler - Miscellaneous Options

15 Topics
Introduction To Typescript Classes
Writing Our First Typescript Class - The Constructor
Typescript Classes - Member Variables
Typescript Read-Only Class Member Variables
Typescript Getters and Setters
Does Typescript Support Multiple Constructors?
Understanding The This Keyword When Used In a Class
Understanding Typescript Static Variables
Understanding Typescript Static Class Methods
Introduction To Object Oriented Inheritance
The Extends Keyword - Creating a Child Class
Understanding the Protected Keyword
Typescript Abstract Classes
Objected-Oriented Interfaces
The Singleton In Typescript - An Object-Oriented Design Pattern

9 Topics
New Section - Introduction To Typescript Generics
Commonly Used Generic Libraries
The Typescript Optional Interface
The Typescript Read Only Interface
Introduction To Generic Functions
Generic Functions With Multiple Generic Parameters
Typescript Generics - Type Constraints and the extends Keyword
Typescript Generics - Understanding the keyof Operator
Typescript Generic Classes

7 Topics
Introduction To Typescript Decorators - How Do They Work?
Introduction To Typescript Method Decorators
Understanding The MethodDecorator Function Signature
Typescript Method Decorators - Step-By-Step Implementation
Applying Multiple Typescript Decorators To The Same Method
Typescript Class Decorators
Typescript Property Decorators

32 Topics
New Section - Building a Secure Node REST API From Scratch In Typescript
Kickstarting Our Node Project With npm init
Setting Up An Express Server From Scratch
Writing Our First Express Endpoint
How To Add Hot-Reload To Our Typescript Development Environment
Parsing Command Line Arguments in a Node Program
Adding Support For Multiple Environments Using dotenv
Making The Server Port Number Configurable
Setting Up The Winston Logging Library
Setting a Cloud SQL Database With Heroku and Postgres
Introduction To TypeORM
Setting Up a Database Connection With TypeORM
Setting Up Our First TypeORM Model
Modelling a One To Many Relationship in TypeORM
Generating a Database Schema Using TypeORM
Trying Out TypeORM - Populating The Database
Populating a Database With TypeORM - Repositories
Writing a Database Cleanup Script With TypeORM
Implementing a Data Retrieval Express Endpoint Using TypeORM
Eager Fetching a One To Many Relationship Using TypeORM
Error Handling In Asynchronous Express Endpoints
Overridding the Express Default Error Handling Behavior
Adding CORS Capabilities To An Express Server
Filtering Query Results In TypeORM - Part 1
Filtering Query Results In TypeORM - Part 2
Implementing The Find Course Lessons Endpoint
Performing a SQL Join With TypeORM
Setting Up an Express JSON Body Parser
Implementing an Express PATCH Update Endpoint
Controlling The Transaction Isolation Level With TypeORM
Implementing a POST Create Entity Endpoint
Implementing an Express DELETE Endpoint

14 Topics
New Section Introduction - Securing a Node REST API With Typescript
Setting Up The TypeORM Users Entity
Populating the USERS Table With User Credentials
Creating Password Digests Using the Node Crypto Module
Hashing a Password To Store It In The Database
Implementation of a Create User POST Endpoint
Implementing a Login Endpoint - Initial Skeleton
Login Endpoint - Validating The User Password
Understanding JWTs - JSON Web Tokens
Setting Up The jsonwebtoken Node Library
Creating And Signing An Authentication JWT
Designing an Express Authentication Middleware
Step-By-Step Implementation of an Authentication Middleware
Role Based Authorization Using an Express Middleware

2 Topics
Bonus Lecture (Updated September 2024)
Conclusions and Key Takeaways

  Write a Review

Typescript Bootcamp: Beginner To Advanced (2024 Edition)

Go to Paid Course