
Discover TypeORM, a Node.js ORM for databases, and learn to define entities, migrations, and relationships with NestJS or Express using active record and data mapper patterns through hands on examples.
Pair TypeORM with Prisma to explore architecture, active record and data mapper patterns, core concepts like data source, entity, repository, migrations, and relationships such as one-to-one, one-to-many, many-to-many.
Set up your development environment by installing Node.js (via nvm or direct) and Docker Desktop, then run Postgres, MongoDB, and MySQL in containers for exploring TypeORM with Express and TypeScript.
Discover how TypeORM enables entity classes, repositories, and query builders to interface with databases, offering type safety, productivity, and cross-database support.
Create a data source object, define entities, obtain a repository, and use a query builder to construct queries, with options to run plain raw queries via the data source.
Explore TypeORM's flexible patterns, including data mapper and active record, and learn to create and manage entities, repositories, and migrations, plus connecting to PostgreSQL in NestJS or Express.
Learn how to set up a PostgreSQL database for a Node.js TypeORM project using Docker, including docker run and docker compose workflows, environment variables, and testing connections.
Bootstrap an express app with TypeORM to connect a Postgres database via a data source, using entity and repository patterns with environment config and a monorepo workspace, including table creation.
Explore connecting to a Postgres database with TypeORM entities, migrations, and CLI tooling, configure via .env, bootstrap with Docker, visualize with TablePlus, and prepare an Express API using repositories.
Set up an Express app with TypeORM to read and write data in Postgres, bootstrap a TypeScript project, configure data source and environment variables, and implement basic CRUD endpoints.
Explore how to use TypeORM CLI to manage migrations, create and run migration files for user and post tables, and safely handle schema sync and reversions.
Manage a monorepo with pnpm workspaces and define TypeORM entities for user, product, and company. Learn migrations, sync true, data source initialization, and repository CRUD operations.
Set up a monorepo with a pnpm workspace and symlinks to share dependencies across projects. Learn repository pattern with TypeORM in NestJS and Express TypeScript, including entities and data source.
Learn to implement an extendable TypeORM repository pattern in a layered Express TypeScript project, building a user repository with custom methods like find active user, by email, and pagination.
Demonstrate building a simple Express TypeScript app with TypeORM, outlining a folder structure (routes, controllers, services, middleware), data source setup, entity creation, and basic CRUD operations.
Demonstrates a TypeORM express app with a docker container running postgres, exposing CRUD APIs for a users table, documented via swagger and postman, using development mode synchronization.
Learn to create and run migrations with the TypeORM CLI using migration files in a production workflow, and configure the data source to manage up and down changes safely.
Learn TypeORM relationships: one-to-one, one-to-many, many-to-many, and many-to-one, mapped to foreign keys and join tables in the database via entities like user, profile, post, and tag.
Learn to use TypeORM query builder to craft custom queries with joins, aggregations, and subqueries across user and post entities, including select, where, group by, order by, pagination, and updates.
Master soft delete in TypeORM by marking records with a deleted_at timestamp instead of permanently deleting them. Explore querying, restoring soft deleted records, including with_deleted and only_deleted.
Explore integrating TypeORM with the NestJS framework, wiring TypeORM module with env-based config, entities like user, post, author, and repository injection for CRUD in a NestJS app.
Explore three approaches to TypeORM 3.x transactions: using the transaction manager, using a query runner, and relying on auto commit with try/catch for automatic rollback.
Databases are a core part of every real-world Node.js application.
If you already know Node.js but feel unsure when working with SQL databases, relationships, or ORMs, this course is designed for you.
In this hands-on course, you will learn TypeORM from scratch and use it to build production-ready Node.js backend applications using SQL databases such as PostgreSQL, MySQL, and SQLite.
This course focuses on practical backend development. You will work with real database schemas, understand how ORMs work internally, manage database migrations, write optimized queries, and apply best practices used in modern backend systems.
By the end of the course, you will be confident designing, querying, and managing databases in Node.js using TypeORM.
What Will Students Learn?
“This course prepares you for real-world backend development and professional Node.js projects.”
Students will be able to:
Understand how SQL databases work with Node.js
Connect Node.js applications to databases using TypeORM
Design entities, columns, and database schemas
Work with PostgreSQL, MySQL, and SQLite
Perform CRUD operations using repositories and QueryBuilder
Implement One-to-One, One-to-Many, and Many-to-Many relationships
Create and manage database migrations
Use transactions and handle complex queries
Optimize database performance and queries
Structure production-ready backend projects