Prisma ve PostgreSQL ile REST API Geliştirme Rehberi
Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde Prisma ORM’in temel mantığını öğreneceksiniz.
TypeScript ve PostgreSQL ile REST API geliştireceksiniz.
Docker kullanarak izole bir veritabanı ortamı kuracaksınız.
🧠 Teknik Özet
Ana konu: Prisma ORM, TypeScript ve PostgreSQL entegrasyonu.
Çözülen problem: Karmaşık SQL yazmadan tip güvenli veritabanı erişimi.
İzlenen adımlar: Proje kurulumu, Docker ile PostgreSQL, Prisma şeması ve API uç noktaları.
1. TypeScript Projesini Hazırlama
Bu adım Node.js tabanlı proje iskeletini oluşturur.
mkdir my-blog && cd my-blog
npm init -y
npm install typescript ts-node @types/node --save-dev
- Bu yapılandırma TypeScript derleme ayarlarını tanımlar:
{
"compilerOptions": {
"sourceMap": true,
"outDir": "dist",
"strict": true,
"lib": ["esnext"],
"esModuleInterop": true
}
}
2. Docker ile PostgreSQL ve Prisma Kurulumu
- Bu adım PostgreSQL’i izole bir ortamda çalıştırır.
version: "3.8"
services:
postgres:
image: postgres:10.3
restart: always
environment:
POSTGRES_USER: rabisu
POSTGRES_PASSWORD: guclu_sifre
ports:
- "5432:5432"
- Bu komut veritabanını başlatır:
docker-compose up -d
- Bu komut Prisma yapılandırmasını oluşturur:
npx prisma init
- Bu değişken Prisma’nın veritabanına bağlanmasını sağlar:
DATABASE_URL="postgresql://rabisu:guclu_sifre@localhost:5432/my-blog?schema=public"
3. Veri Modelini Tanımlama
- Bu adım tablo ve ilişkileri belirler.
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}
- Bu komut tabloları oluşturur ve istemciyi üretir:
npx prisma migrate dev --name init
4. Express ile REST API Uç Noktaları
- Bu adım API rotalarını tanımlar.
npm install express
npm install @types/express --save-dev
- Tüm kullanıcıları getiren örnek rota:
app.get("/users", async (req, res) => {
const users = await prisma.user.findMany()
res.json(users)
})
- Bu komut API sunucusunu başlatır:
npx ts-node src/index.ts
❓ Sıkça Sorulan Sorular (SSS)
1. Neden Prisma tercih edilmelidir? Tip güvenliği ve otomatik sorgu üretimi sağlar.
2. Docker kullanmak zorunlu mu? Hayır, ancak hızlı ve temiz bir kurulum sunar.
3. Prisma Studio ne işe yarar? Veritabanını tarayıcı üzerinden yönetmenizi sağlar.
🎯 Sonuç
Bu rehberle modern bir REST API geliştirdiniz. Prisma sayesinde veritabanı işlemleri sadeleşti. TypeScript ile daha güvenli bir backend elde edildi.
Bu API yapısını Rabisu Bulut altyapısında yüksek performanslı Linux sunucularda güvenle çalıştırabilirsiniz.