Fullstack TypeScript Development

Course Description

This course covers how to deliver full stack web applications using TypeScript as the development language. It will cover writing Node.js applications using TypeScript and also Nest.js, the enterprise framework for creating enterprise grade backend applications and apis. The course will use Prisma for Object Relational Mapping and will cover both code-first and data-first strategies for interacting with relational and NOSQL (MongoDB) databases. The front-end will be provided by Angular which uses TypeScript or React which can be written using TypeScript. Finally the course will cover the use of NX to create a monorepo for both the frontend and backend projects
5 Days
Contact us for pricing
 

Prerequisites

Web Application Development Fundamentals - HTML, CSS, JavaScript
Some familiarity with with back end development using other technologies (Java, ASP.NET, etc)
An understanding of Node.js and the Node.js ecosystem

TypeScript

History of TypeScript
Declaring types
Inferring types
Creating a constructor
Default values for parameters
Understanding nulls, undefined, unassigned variables
Null coalescing operator
Null forgiving operator
Using generics
Async and await

Backend Web Development

Understanding Node.js:

Node Package Manager - npm
Package.json
Dependencies and developer dependencies

Writing Node.js Applications Using TypeScript

Create a simple node.js backend using Typescript
Setting up a TypeScript project
Adding express and @types/express
Creating a simple API endpoint using a file for persistence

Nest.js

Introduction to Nest.js
Creating a Nest.js project
Model View Controller pattern
Inversion of control and dependency injection
Externalising configuration
Logging

Nest.js Authorisation

Creating an auth endpoint
The register method
Storing hashed passwords - the bcrypt library
JWT authentication
@nestjs/jwt
Nest.js middleware
Nest.js guards

Prisma

Object Relational Mapping

Adding prisma dependencies
Initialising an schema
Setting the connection string
Understanding the migration and pull operations
Generating the PrismaClient

Code First ORM using Prisma

Creating the schema
Creating a migration
Testing read and write operations

Data First ORM

Pull the schema from an existing database
Reviewing the schema
Create the PrismaClient
Test read and write operations
Make a change to the schema
Create a migration
Verify changes have been applied to database

Frontend

Understanding Component Frameworks:

What are components?
Why use components?
Which component framework should I use?
Angular and React Comparison

Writing a Frontend Application:

Scaffold the application
Create some simple front end components
Making Ajax Calls
Authentication & Authorization

MonoRepo

Introducing MonoRepos:

What is a MonoRepo?
Why use a MonoRepo?
Creating your own MonoRepo

Using Nx:

Introduction to NX
Why use a build tool like Nx
Creating a mono repo for our application
Sharing classes between frontend and backend
Building the application
Deploying your application

Full stack web developmentJavaScriptTypeScriptNest.jsAngularReactPrismaORMObject Relational MappingModern Web Development