Projelere dön

3pmetrics · Backend Case Study

Live in Production

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

Request
Validate
Persist
Email
Processor
Outbox

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
System operational · architecture markersMonthly AgendaAsync DeliveryAuto Recovery

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.

  1. 01

    3pmetrics.com’u açın

  2. 02

    Footer’daki gündem alanına e-postanızı girin

  3. 03

    KVKK metnini onaylayın

  4. 04

    Aboneliği gönderin

  5. 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 Deneyin

01 · 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.

01Request Received

Abonelik talebi servis tarafından alınır.

02Subscription Persisted

Abonelik kaydı, e-posta gönderiminden önce kalıcı olarak saklanır.

03Outbox Pending

Teslimat görevi işlenmeyi bekleyen outbox kaydına dönüşür.

04Delivery Failed

E-posta sağlayıcısından geçici hata alınır.

05Retry Scheduled

Başarısız görev yeniden işlenmek üzere bekletilir.

06Delivery Recovered

Sağlayıcı tekrar erişilebilir olduğunda gönderim tamamlanır.

Architecture simulation

Request Received
Subscription Persisted
Outbox Pending
Email Delivery
Delivered

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.

3pmetrics’i İncele

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.

3pmetrics’i İncele

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 İncele

Monthly 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.