Typescript Masterclass & FREE E-Book
4.5 (172 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,366 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Typescript Masterclass & FREE E-Book to your Wishlist.

Add to Wishlist

Typescript Masterclass & FREE E-Book

Learn Typescript: Build a Node REST API in Typescript, query it with Angular 4 (formerly Angular 2)
4.5 (172 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,366 students enrolled
Last updated 7/2017
Curiosity Sale
Current price: $10 Original price: $150 Discount: 93% off
30-Day Money-Back Guarantee
  • 7.5 hours on-demand video
  • 5 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Use Typescript with confidence in a full stack development context
  • Learn how to build Node Js processes with Typescript
  • Learn how to build a small Angular application using the Angular CLI
  • Have an Angular Client that queries an HTTP REST API using the Angular HTTP Module
  • Have deep understanding of the Typescript 2 Type System, and know how to leverage it in practice
  • know how to import third party type definitions and use them to build better programs
  • Understand the benefits of Type Safety and leverage them to build better programs
  • Know How to Build a small REST API with Express and Typescript
  • Know how to query a SQL database using Sequelize and Typescript
View Curriculum
  • Some previous Web Development Knowledge is really important - namelly some HTML and Javascript
  • Some Angular notions are needed to understand the last section of the course
  • Previous exposure to another programming language like Javascript, C#, Ruby, Python or Java is important as this not an introduction to programming
  • Having Node and NPM installed in your machine helps, but I will provide detailed instructions
  • We will be building a REST API, but won't be covering REST, so its important to have some notions of REST
  • We will query a SQL Database but won't cover SQL or relational databases, its important to have some notions on relational databases

Course Just Launched ! The videos and the code of this course are fully up to date with the Typescript 2 Release.

Important:  By enrolling you also get very fast and friendly student assistance. If you have questions please post a question and i'll get back to you ASAP. Remember I'm here (every day) to help you and can answer you also in French and Spanish if you prefer.

This course also includes the Ebook:  Typescript Jumpstart - Fast-track to Typescript Proficiency, For Experienced Developers.

This Course in a Nutshell

You are going to learn Typescript 2, its ES6 Features and its advanced type system in depth. You will then use Typescript to build a Node REST API in Express and query a SQL database in Typescript using the Sequelize ORM. You will build a small Angular Typescript Client using the Angular CLI and you will query the REST API using the Angular HTTP Module. 

The Main Goal Of This Course

The main goal of  the course is that you learn not only the Typescript language features, but that you also learn how to use them in practice to build concrete programs. We will cover the benefits of type safety and how it helps us to write better programs.

Why Typescript ?

We wouldn't be surprised if Typescript get tremendous adoption by the enterprise in the next few years, and at the same time by the web development community. But there is something really unusual about Typescript.

This might have actually happened before maybe with Ruby on Rails, but its likely unique. With Angular and Typescript, we have one of those very rare situations when a framework is actually more popular than the language itself ! 

Angular has about the double of the search volume than Typescript, and what is stranger is the Angular trend curve is growing faster than Typescript as well.

Don't just use Typescript like if it was another language, Let's Master It !

So what do these trend results mean ? That many of us are finding the language so easy to use when coming from another language that we manage to get by without diving deep into Typescript. And many of us might not have realized just how amazing this language is, and see its true disruptive potential in the enterprise and beyond.

Is Typescript Mostly for Angular ?

No, Typescript is not only for Angular, its a very powerful programming language, and its latest version Typescript 2 is so feature complete when compared to many other languages, and yet so simple to use.

Object Oriented or Functional ? 

There is great support for both functional and object oriented programming, its all there. In this course we will also cover OO programming but the main focus is on functional programming. How do we make sense of all this huge amount of features? What are the ones that we will be using everyday, vs the ones that we will likely almost never use ? And yet the biggest feature of the language goes beyond the language itself.

Write Once, Run Anywhere ?

Typescript does allow us to do that, and that is maybe the most underrated feature of Typescript. Building the frontend and the backend of an application using completely different languages and ecosystems significantly raises the difficulty of building web applications.

We could use Typescript in a Full Stack way, by building our whole application with it. The type safety features and the great tooling like auto-completion and refactoring make Typescript very appropriate for use in enterprise settings, where developers are used to these features since a long time.

We could build our REST API and our database access layer in Node using Typescript, and share some code between the frontend and the backend. And that is exactly what we will be learning in this course !

What You will Learn In This Course ?

We will do a complete introduction to Typescript 2 and to its type system. We will then immediately apply these new concepts to a practical example: we will build a REST API in Node using Express and Typescript, and then we will query a Postgresql relational database using the Sequelize ORM. 

Learn How to use libraries in a Type Safe Way

We will learn how to use Typescript with third party Javascript libraries and still write type safe programs. The goal is to give a theoretical introduction to the language, but then immediately drive home those concepts by applying them to everyday tasks that we will all do in our daily lives as software developers.

Course Overview

The course structure is simple: we will setup the Webstorm IDE step by step, and start introducing Typescript simply as a better Javascript, showing main of the ES6 features that we can use already today. 

Then we will do a deep dive into the type system and specifically into the features supported by Typescript 2. With this in place we will start writing our REST API from scratch and enhance it step by step.

Functional Programming First, OO also covered

We will learn best practices for building our backend in a functional way and on how to build APIs with Express. We will discuss aspects like API security and error handling. Sequelize is our ORM of choice we will show how to query SQL database tables and show how to compose our program into reusable small functions and use them to compose promise chains to handle API requests.

Object Oriented, Generics, Decorators

With the API built, we will go back to the drawing board and only now introduce Object Oriented Programming, Generics and Decorators. With this last foundational blocks we will go back to out program and we will enhance by further adding type safety to it. 

Build a Small Angular Application, Share Code Between Backend and Frontend

We will then build a small frontend in Angular using the Angular CLI to query the API and display a list of lessons. We will do so by sharing some code between the backend and frontend.

What You Will Be Capable of Doing at the End of the Course

What you will end up with does not seem like much, but its what the industry has been looking for for a very long time: a type safe program built full stack using only one language, based on functional programming principles and sharing some code between the backend and the frontend.

I'm pretty sure you will have lots of fun taking this course! 

This course is very practical but still goes in depth in a lot of areas. The focus goes beyond the features, I want you to know not only the features, the goal is to know them but know when to use them, when not to use them and why, what features are frequently used vs the features that are rarely used. Because that's the most important information that really helps us to build applications in our every day lives as software developers.

Who is the target audience?
  • Professional Developers that are looking to keep current by learning the latest programming language of the web development world
  • Backend Developers doing a transition to full stack development
  • Backend Developers that want to improve their frontend skills
  • Developers that want to learn how to build Angular programs, but want to start by learning Typescript first
  • Javascript Developers in general that use node as a backend server and would like to learn how to write node in Typescript
  • Javascript Developers looking to learn Typescript
Students Who Viewed This Course Also Viewed
Curriculum For This Course
108 Lectures
Typescript as a Better Javascript: Learn ES6 Features and Why they are Useful
11 Lectures 51:56
Setting Up a Development Server - Run TheTypescript Output in the Browser

Jumping to be the Beginning of a Section of the Course

ES6 Arrow Function Operator - When to Use Each and Why ?

ES6 String Interpolation - When to Use Template Literals ?

ES6 Object Destructuring, Shorthand Object Creation and How They Are Related

ES6 Array Spread Operator and Function Default Parameters

ES6 Rest Operator and How it relates to the Array Spread operator

ES6 Modules - Why are Modules Needed ? A missing feature in Javascript

ES6 Modules Import/ Export Under The Hood - What is the relation with CommonJs ?

ES6 Modules in Action - Using SystemJs Module Loader to load CommonJs Modules
The Typescript 2 Type System
16 Lectures 01:01:35
Why the name Typescript ?

Primitive Types and Type Inference In Action - string, number and boolean

Object Types and Type Definition - Building Complex Types

What is a Function Type ? Function Types and Interfaces - Are They Related ?

Arrays Strong Typings and Tuples - Is there a relation ?

Typescript Enums - What do They Look at Runtime ?

Typescript 2 Nullable Types - Avoiding null and undefined Bugs

Typescript Control Flow Analisys In Action

Typescript Interfaces vs Aliases Union & Intersection Types

Understanding Implicit Any

Typescript 3rd Party Libraries - See Typescript 2 @Types In Action

Create a Custom Type Definition

Type Definitions and Modules

The Never And Void Types

Type Compatibility - When is a Type Compatible With Another ?
Debugging Typescript
1 Lecture 08:33
Debugging Typescript - Both in the Browser and in Node
Building an HTTP REST API Using Express and Sequelize
27 Lectures 01:54:50
Introduction and Goals of the Section

Instructions for Setting Up the Postgresql Database

Setting Up a Postgresql Development Database

Installing the Sequelize ORM Step By Step

The first Sequelize query Up and Running

Setting Up the Persistence Layer of Our REST API

Structuring the Persistence Layer

Installing Express and its Type Definitions, Setup a Server

Writing Out First HTTP GET Express Route - Return a List of Courses !

Setting Up Node Hot Reloading with Nodemon

Structuring the REST API Layer

Understand Express Middlewares and How They Relate to Error Handling

Creating an Express Global Error Handler - It Won't Work as we Expect !

How to Prevent Hanging HTTP Requests in Express

You Have Been Doing Functional Programming ! Partially Applied Functions

Creating a Reusable Success Handler

Setting Up the Get Course Detail REST API Resource

Defining a One To Many Relationship in Sequelize

Write a Join Query In Sequelize

Initial Implementation of a REST POST Call

Debugging The Node REST API Using Webstorm

Generating Human Readable Error Ocurrence Identifiers

Creating a Database Error Handling Function

Installing the Express Body Parser Middleware

Updating a Lesson via an HTTP PATCH API call

Deleting a Lesson via an HTTP DELETE API Call
Object Oriented Programming
10 Lectures 33:04
Introduction and Goals of the Section

Class Properties Public, Private and Read Only Modifiers

Class Methods, Private Methods

Class Inheritance

Private vs Protected and Method Overrides

Abstract Classes

Class Getters and Setters

Static Methods, Variables and Constants

Interfaces - Not Only an OO Concept
3 Lectures 12:58

Generic Classes

Generic Type Restrictions
8 Lectures 26:32
Introduction and Goals of the Section

Understanding Decorator Factories

Initial Implementation of a Logging Decorator

Logging Decorator Implementation Finished - Fixed the Issue With This

Understanding the emitDecoratorMetadata compiler flag

Class Decorators

Property Decorators
Improving Type Safety - Adding Custom Types to the REST API
8 Lectures 35:24
Introduction and Goals of the Section

Improving the Model of Our Application - Split Into Summary and Detail Types

Using Custom Types In Our Application

Installing Promise Type Definitions Using the lib Built-In Types

Writing a Mapping Function

Adding Type Safety While Working With BlueBird Promises

Adding a Mapping Function For Lessons
Creating an Angular 2 Client For Our REST API - In Typescript too !
9 Lectures 37:22
Introduction and Goals of the Section

Create the Course Detail Component Using The Angular CLI

Build a Courses Service to Call the REST API

Unexpected Issue When Calling the REST API !

Running the Angular CLI in Proxy Mode

Common Troubleshooting Scenarios with the CLI + REST API Setup

Building the Lessons List Component

Display Course Lessons On Screen
4 More Sections
About the Instructor
Angular University
4.4 Average rating
1,313 Reviews
11,459 Students
7 Courses
Learn and Keep Up with The Angular Ecosystem

About the Angular University:

The Angular University aims to be the one place that you  go in order to learn and keep up with the Angular ecosystem. We provide premium quality video tutorials, screencast style.

About the course instructor:

Hello, my name is Vasco  and I'm a Software Developer with 17 years of experience, very seasoned building user interfaces with Angular. I've worked as a Frontend Developer/Architect in a large variety of enterprise projects throughout the years.   

I worked on a ton of projects, everything from single page applications to help build the European Criminal Record Information Exchange System, to brand new e-banking portals, to corporate banking portals, and more. I've been a key part of internal framework teams that built frameworks for in-house departments of tens of developers. And that's just a few of them, please check my Linkedin for extensive recommendations.

I also love to teach, write and talk about technology.  I am looking forward to be your Angular  instructor,

Kind Regards,