Welcome to the official repository for the complete "Introduction to TypeScript and Node.js" course. This repository contains all the course materials, code samples, and exercises.
This course is designed to take you from the fundamentals of how computers work to building modern, robust applications using TypeScript and Node.js, including asynchronous programming and object-oriented principles.
This course is divided into 5 main lectures, each building on the last.
- Learn About How Computers Work
- Introduction to Programming Languages
- Introduction to TypeScript and Node.js
- TypeScript Basics (Types, Variables, etc.)
- User Input and Output
- Using Comparison and Logical Operators
- Writing Conditional Statements (
if/else,switch) - Working with Loops (
for,while,do-while)
- Working with Functions (Declaration, Expressions, Arrow Functions)
- Working with Modules (Import/Export)
- Understanding Packages & Namespaces
- Object-Oriented Programming (OOP) in TypeScript (Classes, Interfaces, Inheritance)
- Error Handling in TypeScript (
try/Tcatch`, Custom Errors)
- Working with Generics
- Learning more about Advanced TypeScript Concepts (Utility Types, Decorators)
- Asynchronous TypeScript (
async/await, Promises)
To use the code in this repository, you'll need to have Node.js and TypeScript installed on your machine.
- Node.js: Download and install from nodejs.org (v18 or higher recommended).
- TypeScript: Install globally via npm (Node Package Manager).
npm install -g typescript
- TS-Node: A handy tool to run TypeScript files directly.
npm install -g ts-node
-
Clone the repository:
git clone https://github.com/Bayt-al-Hikmah/TypeScript
-
Navigate to a lecture directory:
cd Lecture1 -
Run a specific file:
ts-node example-file.ts
The repository is organized by lecture, making it easy to find the code relevant to each part of the course.
├── Lecture-1/ # The lecture and solutions for Lecture 1
├── Lecture-2/ # The lecture and solutions for Lecture 2
├── Lecture-3/ # The lecture and solutions for Lecture 3
├── Lecture-4/ # The lecture and solutions for Lecture 4
├── Lecture-5/ # The lecture for Lecture 5
└── README.md # You are here!
Found a bug, a typo, or have a suggestion for improvement? Feel free to open an Issue or submit a Pull Request!
This project is licensed under the MIT License.
Ali Instructor & Developer 📧 alitighiouart2001@gmail.com
Happy Coding 🚀
Bayt al-Hikmah