Sözlük
Mockomat dokümantasyonunda kullanılan terimlerin, kavramların ve teknik kelimelerin kapsamlı bir referansı. Terimler kategoriye göre gruplandırılmış ve her grup içinde alfabetik olarak sıralanmıştır.
Platform ve Ürün
Blueprint Yaygın bir domain için hazır bir Mockomat projesi (Kullanıcılar & Profiller, E-Ticaret, Arabalar & Araçlar, Gayrimenkul, Mobilya & Ev, Yemek & Restoranlar). Blueprint'ler bir workspace'e klonlanıp özelleştirilebilir. Bkz. Blueprints.
Alan Modeli (Domain Model) Bir projenin anlamsal temeli. Herhangi bir API veya uygulama detayı kararlaştırılmadan önce verilerinin yapısını ve anlamını tanımlayan varlıkları, özellikleri ve ilişkileri tanımlar.
Alan Dilimi (Domain Slice) İş modelinin küçük, tutarlı bir alt kümesi — genellikle modelleme için başlangıç noktası olarak kullanılan bir veya iki ilişkili varlık.
Mockomat Alan modelleme, mock API simülasyonu ve backend kod oluşturma için çok kiracılı bir SaaS platformu. Kullanıcılar şemaları görsel olarak tanımlar, verileri eşler ve anında canlı GraphQL API'ler elde eder.
Proje (Project) Bir mock API tanımı: bir domain modeli, veri eşlemeleri ve API yapılandırması. Her projenin benzersiz bir slug'ı ve kendi mock API endpoint'i vardır.
Çalışma Alanı (Workspace) Hesabındaki bir proje grubu. Her hesabın bir çalışma alanı vardır; Professional'dan itibaren daha fazlasını oluşturabilirsin. Bu dokümantasyonun Workspace bölümü modelleme panosunu, tablo düzenleyicisini, API tasarım görünümünü ve runtime önizlemesini kapsar.
Modelleme
Özellik (Attribute) Bir tablonun alanı. Her attribute'un bir adı, bir türü (örneğin String, Integer, Float, Boolean, Date, JSON, Enum), bir veri eşlemesi ve Required ile Searchable gibi bayrakları vardır.
Kardinalite (Cardinality) Varlıklar arasındaki niceliksel ilişki: bire-bir (1:1), bire-çok (1:n) veya çoka-çok (m:n).
Varlık / Tablo (Entity / Table) Modelde temsil edilen temel bir iş kavramı (örneğin Customer, Order, Invoice). Modelleme panosunda bir tablo kartı olarak görselleştirilir.
Filterable Modelle birlikte saklanan bir attribute bayrağı. Mock runtime bunu okumaz: filtreleme bir işlemin parametrelerini kullanır (bkz. API Design (İngilizce)).
İpucu (Hint) Runtime önizlemesinde bir tablonun neden veri göstermediğini veya sırada neyin yapılandırılacağını açıklayan bir mesaj — örneğin bir tablonun içe aktarılan verilerle eşlenmediği.
Modelleme Panosu (Modelling Board) Çalışma alanında varlıkların oluşturulduğu, konumlandırıldığı ve sürükle-bırak etkileşimi ile bağlandığı görsel tuval.
Adlandırma Kuralı (Naming Convention) Standartlaştırılmış kalıplar: varlıklar için PascalCase tekil (örneğin Customer), özellikler için camelCase (örneğin firstName).
İlişki (Relation) İki varlık arasında verilerin nasıl aktığını tanımlayan bir bağlantı. Bir yönü (kaynak → hedef) ve kardinalitesi (1:1, 1:n, m:n) vardır.
Required Alanın bir değere sahip olması gerektiğini belirten bir attribute bayrağı. OpenAPI dışa aktarımı onu zorunlu özellik olarak listeler.
Searchable Alanı liste işlemlerinin büyük/küçük harfe duyarsız searchTerm aramasına dahil eden bir attribute bayrağı.
Sortable Modelle birlikte saklanan ve kod dışa aktarımının liste sütunlarında kullanılan bir attribute bayrağı. Mock runtime bunu okumaz: sortField bir veri sütununa bağlı her attribute'u kabul eder.
Tablo Kartı (Table Card) Modelleme panosundaki bir varlığın görsel temsili; tablo adını, sütunları, ilişki göstergelerini ve eylem düğmelerini gösterir.
Tablo Düzenleyicisi (Table Editor) Modelleme panosunda bir tablo seçildiğinde açılan, ayrıntılı özellik ve ilişki kurulumu sağlayan yapılandırma paneli.
Veri Kaynakları ve Eşleme
COMPUTED Aynı kaydın diğer alanları üzerinde bir ifade saklayan bir veri eşleme türü. Runtime ifadeleri değerlendirmez; bu yüzden hesaplanmış bir alan yanıtın parçası değildir. Attribute düzenleyici artık Hesaplanmış seçeneğini sunmaz; zaten hesaplanmış eşleştirmesi olan bir attribute bunu korur ve değerlendirilmiyor olarak işaretlenir.
CONSTANT Bir özelliğe tek bir sabit değer atayan bir veri eşleme türü (örneğin bir durum alanı için "active"); runtime bu değeri her satırda döndürür: içe aktarılan verilerin satırlarında da, değer havuzlarından oluşturulan satırlarda da.
Veri Eşlemesi (Data Mapping) Bir varlık özelliğini bir veri kaynağına bağlayan ve alanın runtime'da hangi değerleri döndüreceğini belirleyen yapılandırma.
Veri Nesnesi (Data Object) Mockomat veri havuzundaki bir tablonun sütunu; bir attribute'u SOURCE eşlemesiyle bağladığında eşleme panelinde sunulur.
Veri Seti (Dataset) Mockomat'ın veri havuzuna aktardığı bir veri bütünü — doğrulanmış bir kaynağın bulunduğu yerde açık veriler, blueprint'ler için üretilmiş örnek veriler; attribute'lar onun sütunlarını SOURCE eşlemeleriyle okur.
SOURCE (Veri kaynağı) Bir attribute'u Mockomat veri havuzundaki içe aktarılmış veri setlerinin bir sütununa bağlayan eşleme türü; runtime içe aktarılan satırları sunar ve asla değer uydurmaz.
Değer Havuzu (Value Pool) Diğer tabloların satırlarını oluşturduğu bağlamsız değerlerden (isimler, sokaklar) oluşan bir tablo — tutarlı kombinasyonlar, asla uydurulmuş değerler değil.
API ve GraphQL
API Sözleşmesi (API Contract) Harici tüketicilerin bağımlı olduğu sorgu adları, alan yapıları ve işlem kullanılabilirliğinin resmi belirtimi.
API Tasarım Görünümü (API Design View) Kullanıcıların hangi GraphQL işlemlerinin açılacağını ve sorguların nasıl adlandırılacağını kontrol ettiği çalışma alanı bölgesi.
Code-First GraphQL Mockomat'ın kullandığı yaklaşım; GraphQL şemaları, SDL dosyaları olarak elle yazılmak yerine model tanımlarından ve dekoratörlerden oluşturulur.
Detay Sorgusu (Detail Query) Tanımlayıcısıyla tek bir kayıt döndüren bir GraphQL sorgusu (örneğin product(id: "abc-123")).
Dinamik Şema Oluşturma (Dynamic Schema Generation) Mockomat'ın bir projenin model tanımlarından anında tamamen tipli bir GraphQL şeması oluşturduğu süreç.
Endpoint Tüketicilerin bir mock API'yi sorgulayabileceği URL yolu: POST /mock/{slug}/graphql.
Filtre İfadesi (Filter Expression) Sorgu sonuçlarını daraltan bir kapsam filtresi veya operasyon parametresi. Bir operasyonun tüm koşulları AND ile birleşir.
Filtre Operatörü (Filter Operator) Parametrelerin ve kapsam filtrelerinin kullandığı karşılaştırma: eq, neq, gt, gte, lt, lte, in, like; kapsam filtreleri ayrıca notIn, isNull, isNotNull.
GraphQL Mockomat tarafından hem yönetim API'si hem de mock runtime endpoint'leri için kullanılan sorgu dili ve API tasarım kalıbı.
Liste Sorgusu (List Query) İsteğe bağlı filtreleme ve sıralama ile sayfalanmış bir kayıt koleksiyonu döndüren bir GraphQL sorgusu (örneğin products(page: 1, pageSize: 20) { items { … } total }).
Sayfa Tabanlı Sayfalama (Page-Based Pagination) Mockomat'ın kullandığı sayfalama yöntemi: page (1'den başlayan sayfa numarası) + pageSize (sayfa başına kayıt, en fazla 100).
İşlem Açılımı (Operation Exposure) Her varlık için hangi GraphQL işlemlerinin (liste, detay) kullanılabilir olacağının yapılandırması.
Sorgu Adlandırma (Query Naming) GraphQL giriş noktalarının özel adlandırılması — liste sorguları varsayılan olarak çoğul (örneğin products), detay sorguları tekil (örneğin product).
Slug / Proje Slug'ı API endpoint yolunda kullanılan, URL-güvenli bir proje tanımlayıcısı (örneğin customer-portal → /mock/customer-portal/graphql).
Runtime
Toplama Pipeline'ı (Aggregation Pipeline) MongoDB'nin çok aşamalı veri işleme çerçevesi; runtime sorgu oluşturucusu tarafından sorguları, filtreleri, sıralamaları ve ilişki aramalarını yürütmek için kullanılır.
Mock Runtime / Runtime Motoru GraphQL sorgularını kabul eden ve dört aşamalı bir pipeline aracılığıyla MongoDB işlemlerine çeviren çekirdek motor: ayrıştırma → planlama → oluşturma → birleştirme.
MongoDB Sorgu Oluşturucusu (MongoDB Query Builder) Runtime pipeline'ının üçüncü aşaması; bir yürütme planını MongoDB toplama pipeline'ına çevirir.
Önizleme (Preview) Kullanıcıların modellerini canlı sorgularla test ettiği ve hazırlık ipuçlarıyla birlikte yanıt verilerini incelediği uygulama içi runtime arayüzü.
Sorgu Planlayıcısı (Query Planner) Runtime pipeline'ının ikinci aşaması; ayrıştırılmış bir sorguyu model meta verileriyle birlikte analiz ederek bir yürütme planı oluşturur.
İlişki Geçişi (Relation Traversal) Runtime'ın düz MongoDB koleksiyonlarından toplama pipeline'ında arama aşamaları oluşturarak ilişkisel veriyi simüle etme becerisi.
İstek Ayrıştırıcısı / GraphQL İstek Ayrıştırıcısı (Request Parser) Runtime pipeline'ının ilk aşaması; gelen bir sorgu dizesini soyut sözdizimi ağacına (AST) ayrıştırır.
Sonuç Birleştiricisi (Result Assembler) Runtime pipeline'ının dördüncü aşaması; MongoDB sonuçlarını beklenen GraphQL yanıt yapısına yeniden şekillendirir.
Runtime Doğrulama (Runtime Validation) Bir modelin alan ve API kararlarının gerçek sorgu yürütmesi altında doğru davranıp davranmadığını onaylama süreci.
Görünümler (Views) Aynı modele farklı bakış açıları — pano görünümü, tablo detay görünümü, API tasarım görünümü, runtime önizlemesi — çapraz bağlantılarla gezilebilir.
Dışa Aktarım ve Kod Oluşturma
Kod Oluşturma / Codegen Bir Mockomat alan modelinden çalışan bir backend projesi oluşturmanın otomatik süreci.
DTO (Data Transfer Object) Oluşturulan bir backend'in oluşturma ve güncelleme girdi sınıfları; tablo başına bir çift, class-validator dekoratörleriyle.
Dışa Aktarım (Export) Bir projeyi OpenAPI spesifikasyonu olarak ya da Professional'dan itibaren oluşturulmuş bir NestJS kod paketi olarak dışa aktaran özellik. Oluşturulan kod kullanıcıya aittir. Bkz. Export.
Oluşturulan Backend (Generated Backend) Bir kod paketindeki NestJS projesi — tablo başına entity, resolver, servis ve girdi türleriyle bir modül, ayrıca kimlik doğrulama ve yapılandırma.
NestJS Oluşturulan backend'lerin Node.js framework'ü. Oluşturulan kod standart NestJS kurallarını izler.
Resolver Oluşturulan NestJS kodundaki GraphQL API katmanı: bir tablonun sorguları ve mutasyonları.
TypeORM Oluşturulan backend'lerin ORM (Object-Relational Mapping) kütüphanesi; oluşturulan entity'ler MySQL / MariaDB'yi hedefler.
Kimlik Doğrulama ve Güvenlik
Actor Token Aynı API key'in tüketicilerini eş zamanlılık takibi için birbirinden ayıran, isteğe bağlı ve süreli bir token. X-Actor-Token başlığında gönderilir.
API Key Harici tüketicilerin o projenin mock API'sine karşı kimliğini doğrulamak için proje başına verilen bir kimlik bilgisi — bir hesaptaki her proje için zorunludur. Authorization: Bearer (veya X-API-Key) başlığında gönderilir; API key'ler Professional planından itibaren dahildir.
Eş Zamanlı Oturum (Concurrent Session) Aynı anda birden fazla cihazda veya tarayıcıda oturum açık olması. Starter'da bir hesap aynı anda yalnızca tek bir yerde oturum açık tutabilir: başka bir yerde oturum açmak önceki oturumu sonlandırır. Professional, Business ve Enterprise'da hesap sahibi aynı anda birden fazla cihazda oturumunu açık tutabilir. Davet edilen üyeler bu olanağı katıldıkları hesaptan almaz: planı daha fazlasına izin veren kendi hesapları yoksa aynı anda yalnızca tek bir yerde oturum açık tutabilirler.
JWT (JSON Web Token) Mockomat yönetim API'sinde durumsuz kimlik doğrulama için kullanılan bir token formatı.
Private Endpoint API key kimlik doğrulaması gerektiren bir mock API endpoint'i — bir hesaptaki her projenin endpoint'i.
Public Endpoint API key olmadan erişilebilen bir mock API endpoint'i. Yalnızca misafir projelerde bulunur: projenin paylaşım token'ı ile açılır ve IP başına hız sınırlamasına tabidir.
Hız Sınırlaması (Rate Limiting) Mock API isteklerine yönelik sınırlar: IP başına bir hız sınırı ve planının istek kotası (günlük veya takvim ayı başına). İkisi de aşıldığında HTTP 429 (Too Many Requests) döndürür; IP sınırı ayrıca bir Retry-After başlığı gönderir.
Oturum (Session) Bir cihazda veya tarayıcıda bir oturum açma. Oturum, çıkış yaptığında, bir süre etkinlik olmadığında veya şifren değiştiğinde sona erer.
Planlar ve Erişim
Business (Plan) Professional'ı daha büyük takımlar, daha fazla yönetici ve endpoint analitikleriyle genişleten, aylık faturalandırılan ücretli bir katman.
Enterprise (Plan) Satış ekibimizle kararlaştırılan bir katman (fiyat talep üzerine, self-servis ödeme yok); limitleri — projeler, istekler, takım büyüklüğü — sözleşmeye göre ayarlanır.
Guest (Plan) Endpoint'i paylaşım token'ı ile açılan, tek bir geçici oturum tabanlı proje sunan, anında giriş gerektirmeyen katman. Çalışma tarayıcıda sınırlı bir süre kalır; kaydolduğunda uygulama onu hesabına taşımayı önerir.
Professional (Plan) Private endpoint'ler, API key'ler, rol tabanlı takım erişimi ve aylık istek kotası sunan, aylık faturalandırılan ücretli bir katman.
Starter (Plan) Hesap kaydı gerektiren, kalıcı projeler ve uygulamada günlük istek kotası sunan ücretsiz katman; mock API'yi kendi kodundan çağırmak API key gerektirir (Professional'dan itibaren).
Her planın güncel limitleri fiyatlandırma sayfasında ve Hesap ve Planlar sayfasındadır.
Takım ve Yönetişim
Alan Sahipliği (Domain Ownership) Takım içindeki belirli bir iş alanı ve onun model tanımları için atanmış sorumluluk.
Çok Kiracılı Mimari (Multi-Tenancy) Her hesabın projelerini, modellerini, üyelerini ve yapılandırmasını hesap kapsamlı erişimle birbirinden ayıran mimari. Mock veriler ortak, salt okunur havuzdan gelir.
Düzenleyici (editor) Modeli kuran, proje oluşturan, API key'leri yöneten ve kod dışa aktarımını çalıştıran workspace rolü. Bir Raportörün yapabildiği her şeyi kapsar.
İnceleme Geçidi (Review Gate) Model, API veya dışa aktarım değişikliklerinin tüketiciler onlara güvenmeden önce doğrulandığı kontrol noktası — örneğin bir dışa aktarımdan önce runtime doğrulaması.
Raportör (reporter) Salt Okunur bir üyenin yapabildiği her şeye pano notları ve yorumlar ekleyen workspace rolü.
Sahip (Owner) Hesabı oluşturan kişi. Sahip bir Yönetici üyeliğine sahiptir, faturalandırmayı yönetir ve hesaptan çıkarılamaz.
Salt Okunur (readonly) Projeleri, modeli ve veri önizlemesini gören ve pano notlarını okuyan workspace rolü.
Tenant Kendi üyeleri, projeleri, API key'leri, yapılandırması ve plan limitleri olan izole bir kurumsal sınır. Mock veriler ortak, salt okunur havuzdan gelir.
Tenant Ekibi Hesabının üyeleri ve workspace rolleri; Hesap → Tenant → Ekip altında yönetilir. Bkz. Team & Roles (İngilizce).
Yönetici (maintainer) Bir Düzenleyicinin yapabildiği her şeye projeleri silmeyi, üyeleri ve proje erişimlerini yönetmeyi ve workspace'leri yönetmeyi ekleyen workspace rolü. Yöneticiler hesabın tüm projelerini görür.
Yönetişim (Governance) Takım modelleme çalışmaları genelinde tutarlılık ve kalite sağlayan politikalar ve kontroller — adlandırma kuralları, inceleme geçitleri ve doğrulama kriterleri.
Altyapı ve Dağıtım
Docker Konteynerizasyon teknolojisi. Bir kod paketi, oluşturulan backend için MySQL ve Redis'i başlatan bir Docker Compose dosyası içerir, ancak backend'in kendisi için Dockerfile içermez; bir konteynerde çalıştırmak için hedef platformuna uygun bir Dockerfile ekle (bkz. Export).