Mermaid Nedir? Ne İşe Yarar ve Nerelerde Kullanılır?
• 3 dk okuma
Mermaid Nedir? Ne İşe Yarar ve Nerelerde Kullanılır?
Modern yazılım geliştirme süreçlerinde, sistemleri görselleştirmek hem iletişimi kolaylaştırır hem de karmaşıklığı azaltır. İşte tam bu noktada Mermaid devreye girer.Mermaid Nedir?
Mermaid, metin tabanlı (text-based) bir diyagram oluşturma aracıdır. Yani klasik grafik araçlarıyla sürükle-bırak yapmak yerine, diyagramları kod yazar gibi tanımlarsınız. Bu yaklaşım sayesinde:- Diyagramlar versiyon kontrolüne (Git) uygun hale gelir
- Kod ile birlikte saklanabilir
- Otomatik olarak üretilebilir ve güncellenebilir
Mermaid Ne İşe Yarar?
Mermaid’in temel amacı, yazılım süreçlerini basit ve okunabilir metinlerle görselleştirmektir. Başlıca kullanım amaçları:- Sistem mimarisi çizmek
- Akış diyagramları oluşturmak
- Sequence diagram (sıralı etkileşim) göstermek
- Veritabanı ilişkilerini modellemek
- CI/CD pipeline’larını görselleştirmek
Nerelerde Kullanılır?
Mermaid oldukça geniş bir kullanım alanına sahiptir: Canlı Kullanım Linki1. Teknik Dokümantasyon
README dosyalarında veya teknik dokümanlarda:- API akışları
- Servis ilişkileri
2. Yazılım Mimari Tasarımı
- Microservice yapıları
- Katmanlı mimariler
3. Agile & Süreç Yönetimi
- İş akışları (workflow)
- Süreç diyagramları
4. Eğitim ve Sunumlar
- Algoritma anlatımları
- Veri yapıları
Mermaid Diyagram Türleri ve Örnekler
Aşağıda en sık kullanılan Mermaid diyagram türlerinden bazılarını bulabilirsin.1. Flowchart (Akış Diyagramı)
flowchart TD
A[Başla] --> B{Karar Ver}
B -->|Evet| C[İşlem 1]
B -->|Hayır| D[İşlem 2]
C --> E[Bitir]
D --> E
Ne işe yarar?
- İş akışlarını göstermek
- Algoritma adımlarını görselleştirmek
2. Sequence Diagram (Sıralı Diyagram)
sequenceDiagram
participant Kullanıcı
participant Frontend
participant Backend
participant Database
Kullanıcı->>Frontend: Giriş yap
Frontend->>Backend: Login isteği
Backend->>Database: Kullanıcı kontrolü
Database-->>Backend: Sonuç
Backend-->>Frontend: Token
Frontend-->>Kullanıcı: Başarılı giriş
Ne işe yarar?
- Sistemler arası iletişimi göstermek
- API çağrılarını modellemek
3. Class Diagram (Sınıf Diyagramı)
classDiagram
class Kullanici {
+String ad
+String email
+girisYap()
}
class Siparis {
+int id
+tarih
+olustur()
}
Kullanici --> Siparis : oluşturur</mermaid>
Ne işe yarar?
- OOP tasarımını göstermek
- Domain model oluşturmak
4. ER Diagram (Veritabanı İlişkisi)
erDiagram
KULLANICI ||--o{ SIPARIS : verir
SIPARIS ||--|{ URUN : içerir
KULLANICI {
int id
string ad
}
SIPARIS {
int id
date tarih
}
URUN {
int id
string isim
}
Ne işe yarar?
- Veritabanı tasarımı
- Entity ilişkileri
5. State Diagram (Durum Diyagramı)
stateDiagram-v2
[*] --> Beklemede
Beklemede --> İşleniyor
İşleniyor --> Tamamlandı
İşleniyor --> Hata
Hata --> Beklemede
Tamamlandı --> [*]
Ne işe yarar?
- Sistem durumlarını modellemek
- Lifecycle süreçleri göstermek
Mermaid Kullanmanın Avantajları
✅ 1. Kod Gibi Yönetilebilir
- Git ile versiyonlanabilir
- Değişiklikler diff olarak görülebilir
✅ 2. Hızlı ve Pratik
- UI tool açmaya gerek yok
- Markdown içine direkt yazılabilir
✅ 3. Otomasyon Dostu
- CI/CD içinde üretilebilir
- Dokümantasyon pipeline’larına entegre edilebilir
✅ 4. Platform Bağımsız
- GitHub, GitLab, Notion, VS Code gibi ortamlarda çalışır
Dezavantajları
❌ 1. Görsel Özelleştirme Sınırlı
- Figma veya Draw.io kadar esnek değil
❌ 2. Karmaşık Diyagramlarda Okunabilirlik
- Çok büyük diyagramlar zor yönetilebilir
Sonuç
Mermaid, özellikle geliştiriciler için tasarlanmış, kod ile diyagram üretmeyi mümkün kılan güçlü bir araçtır. Teknik dokümantasyonu sadeleştirir, ekip içi iletişimi güçlendirir ve yazılım süreçlerini daha anlaşılır hale getirir. Eğer projelerinde:- Dokümantasyonu kodla birlikte tutmak istiyorsan
- Diyagramları hızlıca oluşturmak istiyorsan
- Versiyon kontrolü önemliyse