BendenSana, kullanıcıların standart bir alışveriş deneyiminin ötesine geçerek sahip oldukları ürünleri takas edebildikleri hibrit bir e-ticaret platformudur. Proje, ölçeklenebilir bir mimari üzerine inşa edilmiş olup yüksek performans ve kullanıcı deneyimi odaklı geliştirilmiştir.
| 🔄 Takas Sistemi | Ürün karşılığı ürün + nakit teklifleri sunabilme ve yönetebilme. |
| 📊 Analiz Paneli | Satışların, siparişlerin ve ziyaretçi verilerinin Chart.js ile görselleştirilmesi. |
| 🛡️ Rol Yönetimi | Admin, Satıcı ve Alıcı rollerine özel yetkilendirilmiş paneller. |
| 🔍 Akıllı Filtreleme | Kategori, renk, fiyat ve cinsiyet bazlı anlık daraltma motoru. |
Proje, kurumsal standartlarda Clean Architecture prensiplerine uygun olarak tasarlanmıştır.
- Framework:
.NET 8.0 ASP.NET Core MVC - Veritabanı:
SQLite(Hızlı kurulum ve taşınabilirlik için) - ORM:
Entity Framework Core(Code First Yaklaşımı) - Kimlik Yönetimi:
ASP.NET Core Identity - Tasarım Deseni:
Repository Pattern(Veri erişim katmanı soyutlaması) - Frontend:
Bootstrap 5,Chart.js,FontAwesome
BendenSana/
├── 🎮 Controllers/ # Business Logic ve HTTP istek yönetimi
├── 📦 Models/ # Veritabanı tabloları ve Entity tanımları
├── 📋 ViewModels/ # Sayfa bazlı veri transfer nesneleri (DTO)
├── 🏗️ Repositories/ # IRepository arayüzleri ve somut sınıflar
├── 🖼️ wwwroot/ # CSS, JS, Resimler ve statik içerikler
└── 🍱 Views/ # Razor View (HTML) dosyaları
🚀 Kurulum Adımları Projeyi yerel ortamınızda ayağa kaldırmak için aşağıdaki adımları izleyin:
Repoyu Klonlayın: git clone https://github.com/kullanici/bendensana.git
Paketleri Geri Yükleyin: dotnet restore
Veritabanını Oluşturun: Visual Studio içindeki Package Manager Console üzerinden Update-Database komutunu çalıştırın.
Çalıştırın: F5 tuşuna basarak uygulamayı başlatın.
- Veritabanı Şeması: Proje çalışmadan önce
update-databasekomutu mutlaka çalıştırılmalıdır. - SQLite Kullanımı: Veritabanı olarak SQLite tercih edilmiştir. Veritabanı dosyası ana dizinde
.dbuzantılı olarak otomatik oluşturulur. - Dinamik Resimler: Proje genelindeki görseller harici API'ler (Picsum vb.) üzerinden çekilmektedir. Her sayfa yenilemesinde görseller değişkenlik gösterebilir.
- İndirim Kuponları: Sepet tutarına indirim uygulamak için
Couponstablosunda tanımlı kodlar (Örn:KOD1,KOD2) kullanılabilir. - Takas Şartı: Takas teklifi sunabilmek için sisteme en az bir adet ürün kaydetmiş olmanız gerekmektedir.
Geliştirici: Ali Himeyda , Ali Efe Sarıoğlu
Bu proje eğitim amaçlı geliştirilmiş bir bitirme ödevi çalışmasıdır.
Next Step: Projeniz için bir Database Script oluşturmak veya **YouTube Sunum Vi