1752245898922

NestJS 11 + Prisma 7 + PostgreSQL Setup in Seconds

Introduction

Setting up a backend with NestJS 11, Prisma 7, and PostgreSQL can be accomplished in a matter of seconds. This combination allows developers to create scalable server-side applications with a powerful ORM and a robust database. In this guide, we will walk you through the steps to get your backend up and running quickly.

Prerequisites

Before you begin, ensure you have the following installed on your machine:

  • Node.js (v14 or later)
  • NPM or Yarn
  • PostgreSQL
  • A code editor (like VS Code)

Step-by-Step Setup

1. Create a New NestJS Project

To start, create a new NestJS project by using the Nest CLI. If you haven’t installed it yet, run:

npm i -g @nestjs/cli

Next, create a new project:

nest new my-nest-app

2. Install Dependencies

Navigate to your project directory and install the necessary packages:

cd my-nest-app
npm install @prisma/client prisma

3. Initialize Prisma

Run the following command to initialize Prisma in your project:

npx prisma init

This creates a new prisma folder with a schema.prisma file. Open it to define your data model.

4. Configure PostgreSQL Database

In the schema.prisma file, configure your PostgreSQL database connection:

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

Set your DATABASE_URL in the .env file:

DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/DATABASE_NAME"

5. Define Your Data Model

In the same schema.prisma file, define your models. Here’s an example:

model User {
  id    Int     @id @default(autoincrement())
  name  String  @db.VarChar(100)
  email String  @unique @db.VarChar(100)
}

6. Generate Prisma Client

After defining your model, generate the Prisma client:

npx prisma generate

7. Create API Routes

Now, create a service and controller to handle user data. Generate a new resource:

nest generate resource users

Edit the generated files to implement CRUD operations using Prisma.

8. Run Database Migrations

To apply your data model changes to the database, run:

npx prisma migrate dev --name init

9. Start the Application

Finally, start your NestJS application:

npm run start

Your backend is now running on http://localhost:3000!

FAQs

What is NestJS?

NestJS is a progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications.

What is Prisma?

Prisma is an open-source ORM (Object-Relational Mapping) tool that simplifies database access, making it easier to work with databases.

Why use PostgreSQL?

PostgreSQL is a powerful, open-source object-relational database system known for its reliability and robustness, making it an excellent choice for backend applications.

Conclusion

Setting up a backend with NestJS, Prisma, and PostgreSQL can be a straightforward process when following the right steps. With the tools and configurations outlined above, you can quickly get your backend running, allowing you to focus on building your application. For more development tools and resources, check out WebToolsLab (All Tools) to enhance your development workflow.

Scroll to Top