Public Checklist: TypeScript Course Checklist

TypeScript Course Checklist

Created by Cheli

A step-by-step guide to learning TypeScript from setup to capstone project.

27 Items
0 Downloads
Published May 15, 2026
Sign in to Download

Please sign in before starting payment and download.

Checklist Items (27)

Set up development environment

Install Node.js (LTS)

Download and install the latest LTS version from https://nodejs.org. Verify with `node -v` and `npm -v`.

Install TypeScript compiler

Install TypeScript globally via npm (`npm install -g typescript`) or add as dev dependency in your project (`npm install -D typescript`).

Choose IDE and install extensions

Install Visual Studio Code and add extensions like ESLint, Prettier, and TypeScript Hero for productivity.

Configure tsconfig.json

Initialize a TypeScript project with `tsc --init` and adjust options such as `target`, `module`, `strict`, and `outDir`.

Verify setup with hello world

Create a `src/index.ts` file with `console.log('Hello TypeScript!');`, compile with `tsc`, and run the resulting JavaScript with `node`.

Learn TypeScript basics

Understand primitive types

Learn string, number, boolean, bigint, symbol, null, and undefined. Practice assigning values and see type errors.

Work with arrays and tuples

Use type annotations like `number[]` or `Array<number>` and tuple types `[string, number]` for fixed-length arrays.

Define interfaces and type aliases

Create interfaces for object shapes and use `type` for aliases, unions, and mapped types.

Use union and intersection types

Combine types with `|` (union) and `&` (intersection) to model flexible data structures.

Explore enum usage

Learn numeric and string enums, and when to prefer `const enum` or union types instead.

Practice type inference and explicit annotations

Let TypeScript infer types where possible, but add explicit annotations for function returns and complex objects.

Implement basic functions with typed parameters and return

Write functions with parameter types and return types, including optional and default parameters.

Handle null and undefined with strict null checks

Enable `strictNullChecks` in tsconfig and use union types `| null` or optional chaining `?.`.

Use type guards and typeof/instanceof checks

Create user-defined type guards and use `typeof`, `instanceof`, and `in` operators to narrow types.

Work on small projects

Build a todo list app with basic CRUD

Create a simple web app that lets users add, edit, delete, and mark tasks as complete. Use plain TypeScript with DOM manipulation or a framework like React.

Create a weather dashboard using fetch API

Call a free weather API (e.g., OpenWeatherMap), display current conditions and forecast, handle loading and error states.

Implement a simple calculator with React (optional)

Set up a React project with TypeScript (`npx create-react-app my-app --template typescript`) and build a calculator UI.

Develop a library of utility functions and publish to npm

Write reusable utilities (e.g., formatting, validation), configure `package.json`, run `npm publish` after testing.

Explore advanced TypeScript features

Master generics in functions, classes, and interfaces

Write generic functions like `function identity<T>(arg: T): T` and generic classes/repositories.

Use mapped types and conditional types

Learn `Record<K, T>`, `Pick<T, K>`, `Exclude<T, U>`, and conditional types `T extends U ? X : Y`.

Work with utility types (Partial, Pick, Record, etc.)

Apply utility types to modify existing types, e.g., `Partial<User>` for update forms.

Declare and augment modules

Use `declare module` to add typings for existing JS libraries or augment global scope.

Understand declaration merging

Learn how interfaces, namespaces, and classes with the same name merge to produce a single type.

Implement decorators and reflect metadata

Enable experimental decorators, create class decorators, and use `reflect-metadata` for dependency injection.

Configure project references for monorepos

Set up `tsconfig.json` with `references` to share code between multiple packages in a monorepo.

Build a capstone project

Choose a full-stack idea and plan features

Select a project like a task manager, define user stories, sketch API endpoints, and decide on tech stack.

Set up backend with TypeScript Node.js and ORM

Initialize a Node.js project with TypeScript, install `express`, `typescript`, `@types/node`, and an ORM like Prisma or TypeORM. Connect to a database (PostgreSQL/SQLite).

Ratings and Reviews