ULUSOY_DIGITAL
← Tüm Yazılar
Web

Node.js API Mimarisi Nasıl Kurulur? | Adım Adım Rehber

Ulusoy Digital 08 July 2026 15 görüntülenme
Node.js API Mimarisi Nasıl Kurulur? | Adım Adım Rehber

Node.js API Mimarisi Nasıl Kurulur? Profesyonel Rehber

Günümüzün hızlı dijital dünyasında, sağlam ve ölçeklenebilir bir Node.js API mimarisi kurmak, başarılı bir yazılım projesinin temel taşlarından biridir. İster bir e-ticaret platformu, ister bir mobil uygulama arka ucu geliştiriyor olun, doğru mimari seçimi uzun vadede size zaman, para ve kaynak kazandırır. Bu makalede, Node.js API geliştirme sürecinde dikkat etmeniz gereken temel prensipleri, en iyi proje yapılarını ve Express.js API mimarisi kurulumunu adım adım ele alacağız. Özellikle Eskişehir'deki yazılım geliştirme topluluğu ve işletmeler için hazırladığımız bu rehber, projelerinizi bir üst seviyeye taşımanıza yardımcı olacak.

Neden Doğru Bir Node.js API Mimarisi Önemlidir?

Bir API'nin mimarisi, bir binanın temeli gibidir. Zayıf bir temel, binanın ayakta kalmasını zorlaştırırken, sağlam bir temel yıllarca sorunsuz hizmet verir. Node.js API mimarisi için de aynı durum geçerlidir. Doğru bir mimari şunları sağlar:

  • Ölçeklenebilirlik: Artan kullanıcı talebine kolayca yanıt verebilme.
  • Bakım Kolaylığı: Kod tabanında değişiklik yapmayı ve hata ayıklamayı basitleştirir.
  • Güvenlik: Yetkilendirme, veri doğrulama ve saldırılara karşı koruma gibi konuları merkezi bir şekilde yönetme.
  • Test Edilebilirlik: Bağımsız modüller halinde yazılan kodları kolayca test etme imkanı.
  • Ekip Çalışması: Farklı geliştiricilerin aynı proje üzerinde çakışmadan çalışabilmesini sağlar.

Eskişehir'de faaliyet gösteren bir işletme olarak, Eskişehir web yazılım altyapısı hizmetlerimizde bu prensipleri titizlikle uyguluyoruz. Doğru bir mimari, müşterilerimize sunduğumuz çözümlerin hem hızlı hem de güvenilir olmasını garanti eder.

Node.js API İçin En İyi Proje Yapısı (Katmanlı Mimari)

Node.js API geliştirme sürecinde en çok tercih edilen yapılardan biri katmanlı (layered) mimaridir. Bu yapı, projenizi birbirinden bağımsız katmanlara ayırarak kodunuzu düzenler. İşte önerilen temel proje yapısı:

proje-adi/
├── src/
│   ├── config/          # Veritabanı, çevre değişkenleri vb. yapılandırmalar
│   ├── controllers/     # Gelen istekleri işleme ve yanıt döndürme
│   ├── models/          # Veritabanı şemaları ve modelleri (Mongoose, Sequelize vb.)
│   ├── routes/          # URL yollarını controller'lara bağlama
│   ├── services/        # İş mantığı (business logic) katmanı
│   ├── middleware/       # Yetkilendirme, loglama, hata yönetimi gibi ara yazılımlar
│   ├── utils/           # Yardımcı fonksiyonlar, sabitler
│   └── app.js           # Express uygulamasının başlatıldığı ana dosya
├── tests/               # Birim ve entegrasyon testleri
├── .env                 # Çevresel değişkenler
├── package.json
└── server.js            # Sunucuyu başlatan dosya

Katmanların Görevleri

  1. Routes (Yollar): HTTP metodlarını (GET, POST, PUT, DELETE) ve URL'leri controller'lara yönlendirir. Bu katman çok ince olmalıdır.
  2. Controllers (Denetleyiciler): İstek ve yanıt nesnelerini yönetir. Gelen veriyi doğrular, service katmanını çağırır ve uygun HTTP yanıtını döndürür.
  3. Services (Hizmetler): İş mantığının kalbidir. Veritabanı işlemleri, hesaplamalar, üçüncü parti API çağrıları gibi tüm karmaşık işlemler burada yapılır. Bu katman, HTTP isteklerinden tamamen bağımsızdır.
  4. Models (Modeller): Veritabanı şemalarını ve veri erişim katmanını temsil eder.

Bu yapı, Node.js proje yapısı için endüstri standardı haline gelmiştir. Özellikle özel yazılım geliştirme projelerimizde bu katmanlı mimariyi kullanarak, müşterilerimize esnek ve sürdürülebilir çözümler sunuyoruz.

Express.js ile API Mimarisi Kurulumu (Adım Adım)

Express.js API mimarisi kurmak, Node.js dünyasında en yaygın yaklaşımdır. Express, minimalist ve esnek yapısıyla hızlı prototipleme ve sağlam uygulamalar geliştirmek için idealdir. İşte temel bir Express.js API'si kurulum adımları:

1. Projeyi Başlatma

Öncelikle bir terminal açın ve proje dizininizi oluşturun:

mkdir my-api
cd my-api
npm init -y

2. Gerekli Paketleri Yükleme

Express ve diğer temel paketleri yükleyin:

npm install express dotenv cors helmet
npm install --save-dev nodemon
  • express: Web framework'ü.
  • dotenv: Çevresel değişkenleri yönetmek için.
  • cors: Cross-Origin Resource Sharing için.
  • helmet: Güvenlik başlıkları eklemek için.
  • nodemon: Geliştirme sırasında otomatik yeniden başlatma için.

3. Temel Sunucuyu Oluşturma

src/app.js dosyasını oluşturun ve aşağıdaki kodu ekleyin:

const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
require('dotenv').config();

const app = express();

// Middleware'ler
app.use(helmet());
app.use(cors());
app.use(express.json());

// Sağlık kontrolü rotası
app.get('/api/health', (req, res) => {
  res.json({ status: 'OK', message: 'API çalışıyor!' });
});

module.exports = app;

4. Sunucuyu Başlatma

server.js dosyasını oluşturun:

const app = require('./src/app');
const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log(`Sunucu ${PORT} portunda çalışıyor.`);
});

5. Katmanlı Yapıyı Uygulama

Yukarıda bahsettiğimiz Node.js proje yapısına uygun olarak, bir kullanıcı rotası oluşturalım:

src/routes/userRoutes.js:

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');

router.get('/', userController.getAllUsers);
router.post('/', userController.createUser);

module.exports = router;

src/controllers/userController.js:

const userService = require('../services/userService');

const getAllUsers = async (req, res) => {
  try {
    const users = await userService.getAllUsers();
    res.status(200).json(users);
  } catch (error) {
    res.status(500).json({ message: error.message });
  }
};

const createUser = async (req, res) => {
  try {
    const newUser = await userService.createUser(req.body);
    res.status(201).json(newUser);
  } catch (error) {
    res.status(400).json({ message: error.message });
  }
};

module.exports = { getAllUsers, createUser };

src/services/userService.js:

const User = require('../models/User');

const getAllUsers = async () => {
  return await User.find(); // MongoDB örneği
};

const createUser = async (userData) => {
  const user = new User(userData);
  return await user.save();
};

module.exports = { getAllUsers, createUser };

Bu yapı, Express.js API mimarisi için en temiz ve sürdürülebilir yaklaşımlardan biridir. Eskişehir'deki yazılım projelerimizde bu yöntemi kullanarak, müşterilerimize yapay zeka otomasyonu ve diğer karmaşık sistemlerde bile yüksek performans sunuyoruz.

Node.js API Geliştirmede Dikkat Edilmesi Gereken En İyi Uygulamalar

Node.js API geliştirme sürecinde başarılı olmak için aşağıdaki en iyi uygulamalara dikkat etmelisiniz:

  • Hata Yönetimi (Error Handling): Merkezi bir hata yakalama middleware'i oluşturun. Tüm hataların tutarlı bir formatta döndürülmesini sağlayın.
  • Girdi Doğrulama (Input Validation): Kullanıcıdan gelen tüm verileri doğrulayın. Bunun için Joi veya express-validator gibi kütüphaneler kullanabilirsiniz.
  • Yetkilendirme ve Kimlik Doğrulama: JWT (JSON Web Token) tabanlı bir kimlik doğrulama sistemi kurun. Middleware katmanında yetkilendirme kontrollerini yapın.
  • Loglama: Uygulamanızın davranışını izlemek için Winston veya Morgan gibi loglama araçları kullanın.
  • Çevresel Değişkenler: Hassas bilgileri (veritabanı şifreleri, API anahtarları) asla kodun içine gömmeyin. .env dosyası kullanın.
  • Versiyonlama: API'nizi versiyonlayın (örneğin /api/v1/users). Bu, geriye dönük uyumluluğu korumanıza yardımcı olur.

Bu uygulamalar, projenizin güvenliğini ve bakım kolaylığını artırır. Eskişehir'deki yapay zeka danışmanlığı hizmetlerimizde de bu prensipleri uygulayarak, müşterilerimize en güncel ve güvenli çözümleri sunuyoruz.

Performans ve Güvenlik İpuçları

Bir Node.js API mimarisi kurarken performans ve güvenlik en kritik iki unsurdur. İşte dikkat etmeniz gereken bazı noktalar:

Performans İpuçları

  • Asenkron Programlama: Node.js'in asenkron yapısını kullanarak bloklayıcı işlemlerden kaçının. async/await ile Promise'leri verimli bir şekilde yönetin.
  • Veritabanı Sorgu Optimizasyonu: Gereksiz veri çekmekten kaçının. İndeksleme kullanın ve sorgularınızı optimize edin.
  • Önbellekleme (Caching): Sık kullanılan verileri önbelleğe almak için Redis gibi araçlar kullanın.
  • Yük Dengeleme (Load Balancing): Birden fazla sunucu örneği çalıştırarak yükü dağıtın.

Güvenlik İpuçları

  • Helmet Kullanımı: Express.js ile gelen helmet middleware'ini kullanarak güvenlik başlıklarını otomatik olarak ekleyin.
  • Rate Limiting: DDoS saldırılarına karşı express-rate-limit gibi bir araçla istek sınırlaması uygulayın.
  • SQL/NoSQL Enjeksiyon Koruması: Veritabanı sorgularınızda parametreize edilmiş sorgular kullanın veya ORM/ODM araçlarını tercih edin.
  • HTTPS Zorunluluğu: Tüm trafiğin HTTPS üzerinden gelmesini sağlayın.

Bu ipuçları, Node.js API geliştirme sürecinizde size rehberlik edecektir. Ayrıca,