3pmetrics · Backend Case Study
Aylık gündem aboneliğinden güvenilir e-posta teslimatına.
3pmetrics web sitesindeki aylık gündem abonelik formunu önce güvenli biçimde kaydeden, ardından asenkron olarak işleyip tasarladığım e-posta şablonlarıyla kullanıcının inbox’ına ulaştıran özel amaçlı bir backend e-posta servisi geliştirdim.
.NET Minimal API · Turnstile · Outbox Pattern · Background Processing · Responsive Email
3pmetrics.com footer’daki aylık gündem formuna kendi e-posta adresinizi girerek deneyebilirsiniz.
Delivery pipeline
Delivery simulation
- 12:42:08REQUEST_RECEIVED
- 12:42:08VALIDATION_PASSED
- 12:42:09LEAD_PERSISTED
- 12:42:09OUTBOX_CREATED
- 12:42:11DELIVERY_ATTEMPT
- 12:42:12DELIVERY_SUCCEEDED
Service Scope
Agenda
Subscription
Persistent
Email Delivery
Async
Failure Recovery
Automatic
Live Demo · Production Flow
Servisi kendi inbox’ınızda deneyin.
3pmetrics web sitesinin footer’ındaki aylık gündem abonelik formuna kendi e-posta adresinizi girin, KVKK metnini onaylayın ve gönderimi tamamlayın. Kaydınız production abonelik akışı üzerinden işlenerek tasarladığım e-posta deneyimiyle inbox’ınıza ulaşır.
01
3pmetrics.com’u açın
02
Footer’daki gündem alanına e-postanızı girin
03
KVKK metnini onaylayın
04
Aboneliği gönderin
05
Gelen e-postayı inceleyin
Web Form
- E-posta adresi
- KVKK onayı
- Submit
Delivery System
- Validate
- Persist Subscription
- Create Outbox
- Process & Deliver
Email Experience
- Branded Template
- Content Hierarchy
- Responsive Layout
- CTA & Feedback
Yalnızca size ait bir e-posta adresi kullanın. E-posta görünmezse spam veya tanıtımlar klasörünü kontrol edin.
Canlı Servisi Deneyin01 · The Problem
Bir e-posta sağlayıcısının erişilemez olması, gündem aboneliğinin kaybolduğu anlamına gelmemeli.
Abonelik e-postasını doğrudan HTTP request sırasında göndermek; kullanıcı deneyimini harici bir servisin hızına ve erişilebilirliğine bağımlı hâle getirir. Provider geçici olarak yanıt vermediğinde request başarısız olabilir, kullanıcı aynı formu tekrar gönderebilir veya abonelik kaydı yarıda kalabilir.
Bu nedenle sistemi “önce e-postayı gönder” yaklaşımı yerine “önce aboneliği güvence altına al, sonra teslim et” prensibiyle tasarladım. Servisin kapsamı demo, teklif veya genel iletişim formları değil; yalnızca aylık gündem paylaşımıdır.
Doğrudan gönderim
- Request provider’ı bekler
- Geçici hata kullanıcıyı etkiler
- Yeniden gönderim belirsizdir
- Form ve provider sıkı bağlıdır
Dayanıklı teslimat
- Request lead kaydından sonra tamamlanır
- Hata background’da yönetilir
- Retry süreci kontrollüdür
- Katmanlar birbirinden ayrıdır
02 · Core Principle
Persist first. Deliver asynchronously.
Abonelik doğrulandıktan sonra kalıcı olarak saklanır ve gönderim görevi outbox üzerinden background processor’a aktarılır. HTTP request yaşam döngüsü e-posta sağlayıcısının davranışından ayrılır; geçici teslimat sorunları kullanıcı kaydını etkilemeden yeniden işlenebilir.
03 · Delivery Architecture
Talebin sistem içerisindeki yolculuğu.
01
Request
Web sitesindeki aylık gündem abonelik formundan gelen e-posta adresi servis tarafından alınır.
02
Validation
Request verisi uygulama kurallarına göre doğrulanır; geçersiz abonelikler işlem hattına dahil edilmez.
03
Bot Protection
Turnstile doğrulaması otomatik ve şüpheli form trafiğine karşı koruma katmanı oluşturur.
04
Subscription Storage
Doğrulanan abonelik, e-posta teslimatı başlamadan önce kalıcı olarak saklanır.
05
Outbox
Güncel gündem / bilgilendirme iletisi güvenilir biçimde işlenmek üzere outbox’a alınır.
06
Background Processor
HTTP request’ten bağımsız çalışan processor, bekleyen gönderim görevlerini işler.
07
Email Delivery
Hazırlanan gündem e-postası gönderim sağlayıcısına aktarılır.
08
Retry
Geçici hata oluştuğunda görev kaybolmaz; yeniden işlenmek üzere bekletilir.
Temporary failure path: Email Delivery ⇢ Outbox (retry)
04 · Failure Journey
Provider geçici olarak çevrimdışı olursa ne olur?
Mimari simülasyon — production monitoring değildir. Provider hatası, outbox ve retry davranışını görsel olarak gösterir.
01 — Request Received
Abonelik talebi servis tarafından alınır.
02 — Subscription Persisted
Abonelik kaydı, e-posta gönderiminden önce kalıcı olarak saklanır.
03 — Outbox Pending
Teslimat görevi işlenmeyi bekleyen outbox kaydına dönüşür.
04 — Delivery Failed
E-posta sağlayıcısından geçici hata alınır.
05 — Retry Scheduled
Başarısız görev yeniden işlenmek üzere bekletilir.
06 — Delivery Recovered
Sağlayıcı tekrar erişilebilir olduğunda gönderim tamamlanır.
Architecture simulation
Geçici bir servis hatası, gündem aboneliğinin kaybolmasına dönüşmez.
Email Experience
Teslimat backend’de bitmiyor.
Servisin ulaştırdığı e-posta şablonlarının görsel tasarımını ve frontend kodlamasını da geliştirdim. Marka kimliğini inbox ortamına taşıyan; içerik hiyerarşisi, okunabilirlik, bilgilendirme ve aksiyon alanlarını birlikte ele alan yeniden kullanılabilir bir e-posta deneyimi oluşturdum.
Desktop inbox mock
3pmetrics
Gündem aboneliğiniz alındı
Merhaba,
Aylık gündem listesine kaydınız tamamlandı. Güncel paylaşımlar bu adrese gelecek.
Demo şablon içeriği. Privacy notice · Unsubscribe
Template anatomy
- 01 — Brand Header
- 02 — Message Context
- 03 — Primary Content
- 04 — Call to Action
- 05 — Legal / Footer
Mobile view
3pmetrics
Gündem aboneliğiniz alındı
Merhaba,
Aylık gündem listesine kaydınız tamamlandı. Güncel paylaşımlar bu adrese gelecek.
Demo şablon içeriği. Privacy notice · Unsubscribe
Visual Design
Tipografi, renk, boşluk ve içerik hiyerarşisini 3pmetrics marka diliyle uyumlu biçimde tasarladım.
Template Development
E-posta istemcilerinin sınırlamalarını dikkate alan, yeniden kullanılabilir HTML template yapısı geliştirdim.
Responsive Experience
İçeriğin farklı ekran genişliklerinde okunabilir ve kullanılabilir kalmasını hedefleyen responsive düzen oluşturdum.
Content States
Başarılı kayıt, bilgilendirme ve yönlendirme ihtiyaçlarına göre farklı içerik yapılarını destekleyen template sistemi hazırladım.
Brand Continuity
Web formunda başlayan kullanıcı deneyimini aynı görsel dil ve iletişim yaklaşımıyla inbox’a taşıdım.
05 · Service Scope
Tek amaç: aylık gündem aboneliği.
Bu servis iletişim, demo, teklif veya çoklu ticari form akışlarını yönetmez. Kapsamı net: web sitesinden gelen aylık gündem aboneliklerini doğrulamak, kalıcı kaydetmek ve güvenilir biçimde e-postaya dönüştürmektir.
Monthly Agenda
Aylık gündem ve içerik paylaşımı için e-posta aboneliği
Single Purpose
İletişim, demo veya teklif formları değil; yalnızca gündem aboneliği
Subscription Capture
E-posta adresi ve KVKK onayı ile güvenli kayıt
Resilient Delivery
Persist · outbox · async işleme · retry ile güvenli teslimat
06 · Engineering Decisions
Güvenilirliği request yaşam döngüsünün dışına taşıyan kararlar.
Persist Before Delivery
Talebi göndermeden önce saklayarak harici sağlayıcı bağımlılığını kullanıcı isteğinden ayırdım.
Outbox Pattern
E-posta görevlerini güvenilir biçimde takip edilebilen bir işlem kuyruğuna dönüştürdüm.
Background Processing
Teslimat işlemlerini HTTP request süresinden ayırarak kullanıcı yanıtını harici servis gecikmelerinden korudum.
Retry Mechanism
Geçici gönderim hatalarının manuel müdahale olmadan yeniden işlenebilmesini sağladım.
Validation Boundary
Geçersiz veya eksik verilerin sistemin sonraki katmanlarına ulaşmasını engelledim.
Bot Protection
Turnstile doğrulamasıyla otomatik ve şüpheli form trafiğine karşı ek koruma oluşturdum.
07 · My Role
Formdan inbox’a: abonelik ve teslimat sahipliği.
Aylık gündem abonelik servisinin backend mimarisini, request ve validation akışlarını, kalıcı abonelik kaydını, outbox ve background processing sistemini geliştirdim. Bununla birlikte kullanıcının inbox’ında gördüğü e-posta şablonlarının görsel tasarımını ve kodlamasını da üstlendim.
Böylece web formunda başlayan gündem aboneliğini yalnızca API sınırına kadar değil; güvenilir teslimat ve son kullanıcı iletişimine kadar uçtan uca ele aldım.
08 · Outcome
Form gönderiminden dayanıklı bir iletişim altyapısına.
Servis, aylık gündem aboneliklerini güvenilir bir backend iletişim katmanında yönetir. Abonelik kayıtları e-posta sağlayıcısının anlık durumundan bağımsız biçimde güvence altına alınırken, başarısız teslimatlar yeniden işlenebilir hâle geldi. Bu çalışma, frontend uzmanlığımın yanında dar ve net bir iş ihtiyacını backend ve operasyon boyutlarıyla birlikte çözdüğüm uçtan uca bir mühendislik örneği oldu.
Related Project · Web Platform
3pmetrics Multi-App Monorepo
Bu servise abonelik gönderen web arayüzü, form state ve API entegrasyon sistemini inceleyin.
Web Platform Case Study’yi İnceleMonthly Agenda Email Service
Aylık gündem aboneliğini backend güvenilirliği ve inbox tasarımıyla bir arada geliştirdiğim özel amaçlı e-posta servisi.