Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PrismaPostgres Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Prisma Intro
  • Prisma vs Raw SQL
  • Setup & Install
  • Schema Basics
  • Models
  • Relations
  • Migrations
  • Prisma Client
  • Create & Upsert
  • Read Queries
  • Update & Delete
  • Query Filters
  • Sort & Pagination
  • Select & Include
  • Nested Writes
  • Transactions
  • Aggregation
  • JSON Fields
  • Raw SQL
  • TechShop Schema
  • TechShop Seed
  • Relations Advanced
  • Env Config
  • Global Client
  • Next.js + Prisma
  • Express API
  • Error Handling
  • Performance
  • Connection Pool
  • Prisma Studio
  • Deploy Migrations
  • TechShop Indexes
  • TechShop Cart
  • TechShop Stats API
  • Schema Evolution
  • Debugging
  • Common Mistakes
  • Best Practices
  • Interview Questions
  • Recap & Next
  1. Docs
  2. PrismaPostgres
  3. Express + Prisma — TechShop API
PrismaPostgresIntermediate

Express + Prisma — TechShop API

আগের pg-এ লেখা API এখন Prisma-তে — ইনপুট validate।

3টি অংশবাংলা ভাষায়
src/index.tsts
ts
import express from "express";
import { PrismaClient } from "@prisma/client";

const app = express();
app.use(express.json());
const prisma = new PrismaClient();

app.get("/api/products", async (_req, res) => {
  const products = await prisma.product.findMany({
    select: { id: true, name: true, price: true, qty: true },
  });
  res.json({ products });
});

app.post("/api/products", async (req, res) => {
  const { name, price, qty } = req.body;
  const product = await prisma.product.create({
    data: { name, price, qty },
  });
  res.status(201).json(product);
});

app.listen(4000);
  • input validate — zod (নিচে)
  • select — জটিল payload নয়
  • prisma-এর dataset — ক্ষেত্র নিয়ন্ত্রণ
validation বাধ্যতামূলক

req.body সরাসরি create-এ দেবেন না — attacker input। zod-দিয়ে validate + parse আগে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরServer Components & Route HandlersপরেরPrismaClientKnownRequestError — P কোড
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com