Banabul: Dijital Esnaf Rehberinin Yeniden Doğuşu

.NET 8 MVC SQL Server Tailwind CSS
Banabul: Dijital Esnaf Rehberinin Yeniden Doğuşu

Proje Hakkında

Giriş: Dijital Dünyada "Yan Mahalle" Esnafını Bulmak

Günümüzde dev e-ticaret platformları her yerde olsa da, bazen en çok ihtiyacımız olan şey hemen yan mahalledeki anahtarcı, terzi veya güvenilir bir oto tamircisidir. Banabul projesi, bu basit ama hayati ihtiyacı dijitalleştirmek, yerel esnaf ile mahalle sakinlerini modern bir platformda buluşturmak vizyonuyla doğdu. Klasik "Sarı Sayfalar" konseptini modern teknolojiyle harmanlayan, kullanıcı dostu ve ölçeklenebilir bir dijital dizin oluşturmayı hedefledim.

Problem: Veri Karmaşası ve Kullanıcı Deneyimi

Projenin başlangıcında karşılaştığım en büyük zorluk, farklı kaynaklardan gelen binlerce yerel işletme verisinin (XML/JSON) tutarsızlığıydı. Esnafın dijital varlığı zayıftı ve mevcut dizinler ya güncel değildi ya da kullanıcı deneyimi açısından sınıfta kalıyordu. Problemi ikiye böldüm:

  1. Veri Mühendisliği: Tutarsız veriyi temizlemek, normalize etmek ve yüksek performanslı bir veritabanına aktarmak.

  2. Kullanıcı Deneyimi (UX): Kullanıcının saniyeler içinde aradığı hizmete, en yakın konumda ulaşmasını sağlamak.

Çözüm: .NET 8 ve Modern MVC Mimarisi

Bu karmaşık problemi çözmek için güçlü ve modern bir teknoloji yığını seçtim. Projenin kalbini, backend tarafında yüksek performans ve tip güvenliği sunan .NET 8 ile attım. Web katmanında ise esnekliği ve SEO dostu yapısı nedeniyle ASP.NET Core MVC mimarisini tercih ettim.

Mimari Kararlar ve Yaklaşımlar:

  • Domain-Driven Design (DDD) Esintileri: Projeyi mantıksal katmanlara (Data, Entity, Web) bölerek kodun okunabilirliğini ve bakımını kolaylaştırdım.

  • Repository ve Unit of Work: Veritabanı işlemlerini soyutlayarak, veritabanı bağımlılığını azalttım ve test edilebilirliği artırdım.

  • Automapper: Entity modelleri ile ViewModeller arasındaki dönüşümleri otomatize ederek kod tekrarını önledim.

Teknik Detaylar: Veri Yönetimi ve Performans

Veri katmanında MSSQL Server kullanarak ilişkisel verinin sağlamlığını garantiledim. Ancak binlerce işletme arasında anlık arama yapabilmek için standardın dışına çıkmam gerekiyordu.

Öne Çıkan Teknik Uygulamalar:

  • Efficient Searching (Verimli Arama): MSSQL'in Full-Text Search özelliğini devreye alarak, işletme adı, kategori veya açıklama üzerinden yapılan aramalarda milisaniyelik yanıt süreleri elde ettim.

  • Asenkron Programlama (Async/Await): Tüm veritabanı ve dış API isteklerini asenkron olarak kurgulayarak, sunucu kaynaklarını optimize ettim ve web sitesinin yoğun yük altında bile akıcı kalmasını sağladım.

  • Entity Framework Core & Fluent API: Veritabanı şemasını kod tarafında yönetirken (Code-First), ilişkileri ve kısıtlamaları (Constraints) Fluent API ile detaylıca yapılandırarak veri bütünlüğünü en üst seviyede tuttum.

Frontend: Hız, SEO ve Mobil Uyumluluk

Bir rehber projesinin başarısı kullanıcı deneyimine bağlıdır. Frontend tarafında Tailwind CSS kütüphanesini kullanarak, hem modern hem de çok hızlı yüklenen, %100 mobil uyumlu (responsive) bir arayüz tasarladım. SEO (Arama Motoru Optimazasyonu) için gerekli olan semantik HTML yapısını ve Schema.org işaretlemelerini entegre ettim.

Sonuç ve Kazanımlar

Banabul projesi, sadece bir web uygulaması değil, aynı zamanda veri temizleme (Data Cleaning), performans optimizasyonu ve kullanıcı deneyimi tasarımı gibi konularda kendimi en çok geliştirdiğim Case Study oldu. .NET 8'in gücünü modern MVC mimarisiyle birleştirerek, yerel ekonomiye katkı sağlayacak, ölçeklenebilir ve sağlam bir dijital platform inşa ettim.

Özet Bilgi

"Dijital Dünyada "Yan Mahalle" Esnafını Bulmak"

Tamamlanma Tarihi

Mart 2026