Skip to content

Başlarken

Bu bölüm, yeni bir kullanıcının ilk erişimden güvenilir bir ilk iş akışına tek oturumda geçmesine yardımcı olur. Sonunda, eşleştirilmiş verilere sahip çalışan bir domain modeli, sorgulayabileceğin canlı bir GraphQL API ve bundan sonra ne yapacağına dair net bir anlayış elde edeceksin.

Ne Oluşturacaksın

Bu rehberde şunları yapacaksın:

  1. Mockomat'a eriş ve çalışma modunu seç.
  2. Gerçek bir iş konseptini temsil eden bir domain tablosu oluştur.
  3. Uygun türler ve eşleştirmelerle attribute'lar ekle.
  4. Başka bir entity ile en az bir ilişki kur.
  5. Canlı runtime üzerinden modelini önizle.
  6. API'nin beklediğin veri yapılarını döndürdüğünü doğrula.

Tüm süreç yaklaşık 15 dakika sürer.

Screenshot gs-01-start-entryScreenshot gs-01-start-entry
gs-01-start-entryMissing

Landing sayfasından uygulama workspace'ine giriş noktası.

Adım 1: Erişim Modunu Seç

Mockomat, her biri farklı bir çalışma aşaması için tasarlanmış iki erişim modu sunar:

Misafir Modu (Hızlı Başlangıç)

Misafir modu, çalışan bir mock API'ye ulaşmanın en hızlı yoludur. Kayıt yok, kurulum yok — Mockomat'ı aç ve modellemeye başla.

Ne elde edersin:

  • Genel bir endpoint'e sahip bir geçici proje
  • Modelleme panosu, attribute yapılandırması ve önizlemeye tam erişim
  • Tüm veri eşleştirme türlerine erişim (gerçek veri setleri, Faker, sabitler)
  • Hemen sorgulayabileceğin canlı bir GraphQL endpoint

Kısıtlamalar:

  • Çalışman tarayıcı oturumuna bağlıdır — sekmeyi kapatmak veya çerezleri temizlemek ilerlemeni kaybettirir
  • Aynı anda yalnızca bir proje
  • Takım paylaşımı veya proje yönetimi yok
  • Yalnızca genel endpoint (özel erişim kontrolleri yok)

Misafir modu, hızlı fikir doğrulaması, demolar ve Mockomat'ın iş akışına uygun olup olmadığını değerlendirmek için idealdir.

Hesap Modu (Kalıcı Workspace)

Hesap modu, kalıcılık, proje yönetimi ve zaman içinde kullanımını büyütme imkânı ekler.

Ne elde edersin (Free katman):

  • 5'e kadar kayıtlı proje
  • Tarayıcı oturumlarından bağımsız kalıcı modeller
  • Proje geçmişi ve yeniden ziyaret edip geliştirme imkânı
  • Günlük 1.000 API isteği
  • Genel endpoint'ler

Ne zaman geçmeli:

  • İlk modelin faydalı çıktığında ve saklamak istediğinde
  • Çalışmanı takım arkadaşlarınla paylaşman gerektiğinde
  • Birden fazla oturumda iterasyon yapmak istediğinde
Screenshot gs-02-guest-workspaceScreenshot gs-02-guest-workspace
gs-02-guest-workspaceMissing

İlk domain tablosuyla misafir workspace'i.

Adım 2: Gerçek Bir Domain Dilimini Modelle

Domain dilimi, iş modelinin küçük, tutarlı bir alt kümesidir. Sisteminde gerçek bir şeyi temsil eden bir veya iki entity ile başla.

Anlamlı İsimler Seç

Genel örnek adlarından kaçın. Takımının halihazırda kullandığı gerçek iş dilini kullan:

İyi örnekler:

  • Customer, Subscription, Invoice
  • Order, Payment, Shipment
  • Product, Category, Review
  • Employee, Department, TimeEntry

Kaçınılması gerekenler:

  • Table1, TestEntity, MyModel
  • Data, Item, Thing

Anlamlı isimler modelini kendi kendini belgeleyen hâle getirir ve takım tartışmaları için hemen faydalı kılar.

Attribute Ekle

Her entity, verisini tanımlayan attribute'lara ihtiyaç duyar. Attribute eklerken şunları dikkate al:

ÖzellikAmaçÖrnek
NameTanımlayıcı isimfirstName, totalAmount, isActive
TypeVeri türüstring, number, boolean, date
RequiredHer zaman bir değeri olmalıemail için true, middleName için false
SortableSıralama için kullanılabilircreatedAt, price için true
SearchableAramaya katılırname, title için true
FilterableFiltre ifadelerini desteklerstatus, category için true

Pratik ipucu: Entity başına 4-6 temel attribute ile başla. Daha sonra her zaman ekleyebilirsin, ancak odaklanmış bir model geniş ve yüzeysel bir modelden daha iyi geri bildirim verir.

Alan Eşleştirmelerini Seç

Her attribute'un bir veri kaynağına ihtiyacı vardır. Mockomat üç eşleştirme türünü destekler:

OFF_FIELD — Gerçek veri seti verileri

Gerçek dünya veri setindeki bir alana eşle (örneğin Open Food Facts). Gerçekçi, çeşitli değerler üretir. Ürün adları, kategoriler, besin değerleri, barkodlar için en iyisi.

FAKE — Sentetik veriler (Faker)

Gerçekçi ama kurgusal veriler üret: isimler, e-postalar, adresler, tarihler, fiyatlar. Kişisel veriler, finansal tutarlar, zaman damgaları, iletişim bilgileri için en iyisi.

CONST — Sabit değerler

Her kayıt aynı değeri alır. Varsayılan durumlar ("active"), sabit yapılandırma, erken modelleme aşamasındaki yer tutucu değerler için en iyisi.

Screenshot gs-03-first-tableScreenshot gs-03-first-table
gs-03-first-tableMissing

İlk tablo oluşturma ve attribute kurulumu.

Bir İlişki Kur

Bir entity modellendikten sonra ikinci bir entity ekle ve bunları bağla:

  1. İkinci bir tablo oluştur (örneğin ilkin Customer ise Order).
  2. İlişki türünü tanımla: Bir müşterinin birçok siparişi var mı (1:n)? Bir sipariş tam olarak bir müşteriye mi ait?
  3. Yönü belirle: ilişkinin sahibi hangi entity?

İlişkiler, API'nin iç içe veriyi nasıl işlediğini test etmek için kritik öneme sahiptir. En az bir ilişkiye sahip bir model, çok daha zengin önizleme geri bildirimi sağlar.

Screenshot gs-03b-first-relationScreenshot gs-03b-first-relation
gs-03b-first-relationMissing

İki entity arasında ilk ilişki kurulumu.

Adım 3: Önizleme ile Doğrula

Önizleme yalnızca demolar için değildir. Model kalitesi kontrol noktasıdır. Modelini her değiştirdiğinde, değişikliğin beklendiği gibi davrandığını doğrulamak için bir önizleme çalıştır.

Neleri Kontrol Etmeli

Alan okunabilirliği — Dönen alan adları anlamlı mı? Tutarlılar mı (hepsi camelCase, kısaltma yok)?

Veri yapısı tutarlılığı — Her alan beklenen türü döndürüyor mu? String'ler gerçekten string, sayılar gerçekten sayı mı?

İlişki davranışı — Üst entity'yi sorgularken alt entity'ler doğru bir şekilde iç içe görünüyor mu? Kardinalite doğru mu (1:n için dizi, 1:1 için tekil nesne)?

Eksik eşleştirme sinyalleri — Önizleme, henüz veri kaynağı olmayan attribute'lar için ipuçları gösterir. Devam etmeden önce bunları çözümle.

Filtre ve sıralama davranışı — Filterable olarak işaretlediğin bir alana göre filtrelemeyi dene. Sortable bir alana göre sıralamayı dene. Sonuçlar mantıklı mı?

Yaygın Önizleme Sorunları

SorunOlası NedenÇözüm
Alan null döndürüyorEşleştirme yapılandırılmamışOFF_FIELD, FAKE veya CONST eşleştirme ata
İlişki boş dizi döndürüyorİlişki düzgün tanımlanmamışİlişki yönünü ve hedef entity'yi kontrol et
Sıralama etkisi yokAlan sortable olarak işaretlenmemişAttribute üzerinde sortable bayrağı etkinleştir
Filtre tüm kayıtları döndürüyorAlan filterable olarak işaretlenmemişAttribute üzerinde filterable bayrağı etkinleştir
Screenshot gs-04-first-previewScreenshot gs-04-first-preview
gs-04-first-previewMissing

Eşleştirilmiş ve eşleştirilmemiş alanlarla ilk önizleme çalışması.

Adım 4: API'ni Sorgula

Önizleme doğru göründüğünde, mock API'n zaten canlı durumdadır. Herhangi bir GraphQL istemcisinden veya doğrudan frontend uygulamandan sorgulayabilirsin.

Projenin endpoint'i:

POST /mock/{proje-slug'iniz}/graphql

Basit bir liste sorgusu dene:

graphql
query {
  customers(offset: 0, limit: 10) {
    id
    firstName
    lastName
    email
    orders {
      id
      totalAmount
      createdAt
    }
  }
}

Yanıt, yapılandırdığın eşleştirmelerden alınan gerçekçi verileri içerecek ve ilişkiler otomatik olarak çözümlenecektir.

Screenshot gs-04b-first-queryScreenshot gs-04b-first-query
gs-04b-first-queryMissing

Canlı mock endpoint'e karşı ilk GraphQL sorgusu.

Adım 5: Sonraki Yolu Belirle

İlk başarılı model ve sorgu döngünden sonra birkaç yönün vardır:

  • Modelini derinleştir — daha fazla entity ekle, attribute'ları iyileştir, ek ilişkiler kur.
  • API açılımını yapılandır — hangi işlemlerin mevcut olacağını tanımla, sorgu adlandırma kurallarını belirle.
  • Dışa aktarıma yönel — model yeterince kararlıysa, üretime hazır bir NestJS backend elde etmek için kod üretimini keşfet.
  • Blueprint'leri kullan — gelecekteki projeleri hızlandırmak için hazır domain şablonlarını keşfet.
  • Takımınla paylaş — bir hesap oluştur (misafir modundaysan) ve iş birlikçi davet et.
Screenshot gs-05-next-stepsScreenshot gs-05-next-steps
gs-05-next-stepsMissing

İlk başarılı önizleme döngüsü sonrası karar noktası.

Şimdi Elinde Ne Var

Bu rehberi tamamladıktan sonra elinde şunlar vardır:

  • En az bir entity, anlamlı attribute'lar ve yapılandırılmış veri eşleştirmelerine sahip bir domain modeli
  • Gerçekçi veriler döndüren canlı bir GraphQL API endpoint'i
  • Modelinin gerçek sorgular altında beklendiği gibi davrandığının doğrulanması
  • Model → önizleme → sorgu iş akışının net bir şekilde anlaşılması

Buradan, az önce oluşturduğunun arkasındaki mimariyi anlamak için Temel Kavramlar sayfasını keşfet veya modelleme araçları için detaylı bir rehber olan Workspace sayfasına dal.