MUSTAFA ULUTAŞ
İLETİŞİM

SİSTEM GÜNLÜĞÜ

MUSTAFAULUTAŞ

FULL-STACK SOFTWARE DEVELOPER

Backend ağırlıklı bir .NET geliştiricisiyim. Backend'de disiplin, frontend'de zanaat.

KAYDIR VE SİSTEME GİR

01

Sistem, görünmeyen yerinde ayakta durur.

ÖNCE SINIRLAR.

SONRA SÖZLEŞMELER.

EN SONDA KOD.

KAYIT / DURUŞ

KAYNAK / SAHA DENEYİMİ

DURUM / DEĞİŞMEZ

Bir yazılımı güzel gösteren şey arayüzü olabilir; ama onu yıllarca ayakta tutan şey mimarisidir. Ben de işe hep aynı sırayla bakarım: önce sınırlar, sonra sözleşmeler, en sonda kod. C# ve .NET tarafında, Clean Architecture'ın katı katman sınırları ve CQRS'in net sorumluluk ayrımı üzerine sistemler kuruyorum. Domain'ini tanımayan kod, bana göre daha ilk günden borçlanmıştır.

Multi-tenant bir SaaS'ta en pahalı hata veri sızıntısıdır. Bu yüzden tenant izolasyonunu arayüze değil, sistemin en alt katmanına gömerim. Kimliği JWT doğrular, yetkiyi RBAC çizer, okuma yollarını Redis hızlandırır. Ağır işler ise RabbitMQ ve WolverineFx üzerinden asenkron kuyruklara devredilir. Güvenlik de performans da sonradan eklenecek özellikler değil, ilk gün verilecek mimari kararlardır.

Backend disiplinini frontend zanaatıyla birleştirmeyi seviyorum. React ve TypeScript ile kurduğum arayüzler, arkadaki sistemin gücünü kullanıcıya taşımak için var: rol bazlı dashboard'lar, panelden yönetilen içerik, SEO'su baştan düşünülmüş sayfalar. Kullanıcı mimariyi hiç görmez; ama her tıklamada onu hisseder.

En sevdiğim problem tipi de belli: yılların yükünü taşıyan, kimsenin dokunmak istemediği legacy bir sistemi alıp ona production'da yaşayan modern bir gelecek kurmak. Bakımı kolay, ölçeklenmeye hazır ve gerçekten teslim edilmiş yazılım. Benim için "bitti"nin tanımı bu.

MODÜL CANLIDA
06
KURUMSAL ŞİRKETTE PRODUCTION
02
SERBEST PROJE TESLİM EDİLDİ
03

02 / YOLCULUK

GELİŞİM

Kronolojik bir liste değil. Her bölüm bir öncekinin üzerine kuruldu; sona doğru ölçek büyüyor.

BÖLÜM 00

2025

SAKARYA UYGULAMALI BİLİMLER ÜNİVERSİTESİ · BİLGİSAYAR PROGRAMCILIĞI

Köken

Temel meraktan atıldı. Bilgisayar Programcılığı okurken bir yandan BTK Akademi'de İleri Seviye Python ve Siber Güvenliğe Giriş programlarını bitirdim. Kod yazmayı öğrenirken, yazılan kodun nasıl kırıldığını da merak ediyordum.

  • Ön Lisans: Bilgisayar Programcılığı (05.2025)
  • BTK Akademi: İleri Seviye Python
  • BTK Akademi: Siber Güvenliğe Giriş
  • PYTHON
  • SİBER GÜVENLİK TEMELLERİ
  • ALGORİTMA

BÖLÜM 01

01.2025 → 05.2025

BİMSER TÜRKİYE · LONG TERM INTERN

Disiplin

Kurumsal yazılımın gerçek ritmini burada gördüm. API tasarımından analize, geliştirmeden test akışlarına kadar sürecin tamamına katıldım. Yazılımın tek kişilik bir hüner değil, standartlarla işleyen bir ekip işi olduğunu bu dönemde öğrendim.

  • Kurumsal geliştirme süreçlerinde API tasarımı, analiz ve test akışları
  • Modüler kod yapısı ve kurumsal geliştirme standartları
  • API TASARIMI
  • ANALİZ
  • TEST AKIŞLARI
  • KURUMSAL STANDARTLAR

BÖLÜM 02

2025

SERBEST ÇALIŞMALAR · FREELANCER

Saha

Kapsamı müşteriyle birlikte çizip tek başıma teslim ettiğim üç canlı iş. Laravel ile içerik yönetimli kurumsal bir uygulama, Next.js ile SEO odaklı bir tanıtım sitesi ve masada QR ile açılan bir dijital menü. Üç farklı problem, üç farklı stack, üç teslim.

  • baranboya.com: PHP/Laravel, MySQL, rol bazlı yetkilendirme ve 2FA
  • prosetelevator.com: Next.js, SEO ve performans odaklı kurumsal site
  • thebestofcoffeelounge.com: Next.js, panelden yönetilen QR dijital menü
  • LARAVEL
  • NEXT.JS
  • MYSQL
  • 2FA
  • SEO

BÖLÜM 03

05.2025 → 08.2025

MECODE BİLİŞİM · INTERN

İçeriden

Şirketin kendi web sitesi bana emanetti. mecodebilisim.com'u C# ile ASP.NET Core MVC ve Web API üzerinde geliştirip güncelledim. İçerik, sayfa ve medya yönetimi için CRUD ekranlı bir admin panel; meta ve slug ayarlarının panelden yönetildiği bir SEO katmanı kurdum.

  • mecodebilisim.com: ASP.NET Core MVC + ASP.NET Web API
  • İçerik, sayfa ve medya yönetimi için CRUD ekranlı admin panel
  • Panelden yönetilen meta, slug ve sayfa ayarlarıyla SEO yönetimi
  • C#
  • ASP.NET CORE MVC
  • WEB API
  • ADMIN PANEL
  • SEO

BÖLÜM 04

08.2025 → GÜNÜMÜZ

MECODE BİLİŞİM · FULL-STACK SOFTWARE DEVELOPER

Mimari

Yolculuğun zirvesi. Legacy ASP.NET MVC tabanlı HRM ürününü, ASP.NET Core ve React + TypeScript ile multi-tenant SaaS mimarisine taşıdım. Yeni çekirdek Clean Architecture ve feature-based CQRS üzerine kuruldu; Minimal API uçları ve EF Core ile modellenen ilişkisel veritabanı da dahil, tamamı sıfırdan tasarlandı. Ürün bugün iki kurumsal şirkette canlı çalışıyor.

  • Legacy HRM ürünü, ASP.NET Core + React/TypeScript ile multi-tenant SaaS'a taşındı
  • Clean Architecture, feature-based CQRS, Minimal API ve EF Core ile yeni çekirdek
  • Tenant bazlı veri izolasyonu, JWT/RBAC, middleware, logging ve Redis caching
  • RabbitMQ + WolverineFx ile asenkron mesajlaşma altyapısı
  • Canlıdaki modüller: Envanter, Zimmet, Bordro, Çalışan İletişim Platformu, İK Chatbot, Anket
  • React + TypeScript ile role/permission bazlı, mobil uyumlu dashboard
  • ASP.NET CORE
  • CQRS
  • MULTI-TENANT
  • RABBITMQ
  • REDIS
  • REACT + TS

03 / VAKA DOSYALARI

Kanıt, kartvizitten güçlüdür.

Proje kartı değil, mühendislik dosyası. Açın: problem, mimari, kararlar ve sonuç. Hepsi kayıt altında.

PROBLEM

Şirketin elinde aceleye getirilen ASP.NET MVC ile yazılmış bir HRM ürünü vardı. Ürünün sürdürülebilirliği pek mümkün değildi ve ürünü birden fazla kurumsal müşteriye, birbirinden tamamen izole veriyle hizmet vermesi gerekiyordu. Mevcut mimari bunun için tasarlanmamıştı.

MİMARİ

Onarmak yerine yeniden kurdum. ASP.NET Core üzerinde, Clean Architecture ve feature-based CQRS ile sıfırdan bir çekirdek tasarladım: Minimal API uçları, EF Core ile modellenen ilişkisel veritabanı ve domain'i dış dünyadan koruyan katı katman sınırları.

UYGULAMA

Tenant bazlı veri izolasyonu sistemin en alt katmanına gömüldü. Kimlik akışları JWT ve RBAC ile örüldü; middleware, merkezi logging ve Redis caching ile desteklendi. React + TypeScript tarafında ise role/permission bazlı, mobil uyumlu bir dashboard ve admin panel geliştirdim.

KARARLAR

Multi-tenant bir sistemde en pahalı hata veri sızıntısıdır; izolasyon bu yüzden arayüzde değil, veri katmanında yaşıyor. Ağır işler kullanıcıyı bekletmesin diye RabbitMQ ve WolverineFx ile asenkron mesajlaşma altyapısı kurdum. Senkron düşünen sistemler, yük altında ilk ezilenlerdir.

SONUÇ

Envanter Yönetimi, Zimmet, Bordro, Çalışan İletişim Platformu, İK Chatbot, Anket ve Operasyonel Mükemmellik. Ürün bugün iki kurumsal şirkette production ortamında çalışıyor.

STACK

  • ASP.NET Core
  • Clean Architecture
  • Feature-Based CQRS
  • Minimal API
  • EF Core
  • JWT / RBAC
  • Redis
  • RabbitMQ
  • WolverineFx
  • React
  • TypeScript

SİSTEM TOPOLOJİSİ

BU DOSYA NEYİ KANITLIYOR

Bu dosya, legacy bir sistemi production'ı durdurmadan modern bir mimariye taşıyabildiğimi ve güvenliği sonradan değil, ilk günden tasarladığımı gösteriyor.

PROBLEM

Şirketin kurumsal web sitesi, her içerik değişikliği için geliştiriciye bağımlıydı. İçerik, sayfa, medya ve SEO ayarlarının kod dokunuşu olmadan yönetilebilmesi gerekiyordu.

MİMARİ

C# ile ASP.NET Core MVC ve ASP.NET Web API üzerine kurulu dinamik bir yapı. Site içeriği veritabanından besleniyor; yönetim tarafı dashboard'lu bir admin panelde toplanıyor.

UYGULAMA

İçerik, sayfa ve medya yönetimi için CRUD ekranları geliştirdim. Meta title, description, slug ve sayfa ayarlarının tamamı panelden yönetiliyor; SEO artık kod değil, içerik işi.

SONUÇ

mecodebilisim.com yayında. İçerik ve SEO yönetimi geliştirici döngüsünden çıkıp ürünün kendi paneline taşındı.

STACK

  • C#
  • ASP.NET Core MVC
  • ASP.NET Web API
  • SEO Yönetimi
  • Admin Panel

BU DOSYA NEYİ KANITLIYOR

Bu dosya, yalnızca kod değil ürün düşündüğümü gösteriyor: içeriği geliştirici değil, içeriğin sahibi yönetmeli.

PROBLEM

Kurumsal bir müşteri için yalnızca vitrin değil; içeriğin yönetilebildiği, yetkilerin ayrıştığı ve yönetim erişiminin korunduğu dinamik bir web uygulaması gerekiyordu.

MİMARİ

PHP/Laravel üzerinde içerik yönetimli dinamik bir kurumsal uygulama. Veri modeli MySQL ile kuruldu, yetkilendirme rol bazlı tasarlandı.

UYGULAMA

Admin paneline iki faktörlü doğrulama (2FA) dahil temel güvenlik önlemlerini uyguladım. Roller yetki sınırlarını arayüzden değil, sunucu tarafından zorluyor.

SONUÇ

baranboya.com canlıda. Müşteri içeriğini kendi yönetiyor, yönetim erişimi 2FA ile korunuyor.

STACK

  • PHP
  • Laravel
  • MySQL
  • RBAC
  • 2FA

BU DOSYA NEYİ KANITLIYOR

Bu dosya, stack'ten bağımsız düşündüğümü gösteriyor: güvenlik ve yetki modeli, hangi framework olursa olsun aynı ciddiyetle kurulur.

05 / PROJE ENDEKSİ

Teslim edilmiş işler

Konsept değil, canlıya alınmış işler. Üzerine gelince dosya önizlemesi açılır.

06 / KAPANIŞ · OTURUM SONLANIYOR · YENİ BAĞLANTI BEKLENİYOR

SIRADAKİ SİSTEMİBİRLİKTE KURALIM.

Yeni bir ürün, dönüştürülmeyi bekleyen bir legacy ya da sadece mimari üzerine bir sohbet. Kanal açık.