Skip to content

SauWebProgramming/web-programming-project-2025-sh454

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

🚀 SecondHandTrade - İkinci El Eşya Satış Platformu

!

Bu proje, ASP.NET Core 8 MVC platformunda, yüksek mimari kalitede, tüm zorunlu üniversite (ISE309) gereksinimlerini ve genişletilmiş bonus özellikleri karşılayacak şekilde geliştirilmiştir. Projenin temel amacı, kullanıcıların ikinci el ürünlerini güvenli ve kolay bir şekilde listeleyebildiği bir platform sunmaktır.


👨‍💻 Projenin Geliştiricisi

Shahryar Hayati B231200563


💎 ÖZELLİKLER & TEMEL TEKNİK GEREKSİNİMLER

Proje, Temiz Kod (Clean Code) prensiplerine uygun olarak katmanlı mimari ile tasarlanmıştır.

1. ⚙️ Platform ve Mimari

  • Platform: ASP.NET Core 8 MVC mimarisi kullanılmıştır.
  • Kimlik (Identity): ASP.NET Core Identity (Kayıt, Giriş, Şifre sıfırlama, Email doğrulama) uygulanmıştır.
  • Yetkilendirme: Rol bazlı yetkilendirme (→ Admin ve User rolleri) eksiksizdir.
  • Veritabanı: Entity Framework Core Code-First yaklaşımı ve Migrations kullanılmıştır.
  • DI (Bağımlılık Enjeksiyonu): Tüm servisler ve repository'ler Scoped olarak enjekte edilmiştir.

2. 🧱 Mimari Kalıplar

  • Repository Pattern: Genel CRUD işlemleri için Generic Repository yapısı kurulmuştur.
  • Özel Repository'ler: ProductRepository ve CategoryRepository gibi Entity'lere özel ek metotlar tanımlanmıştır.
  • ViewModel (DTO): View'lara veri taşımak için ViewModel kullanımı zorunludur.
  • Doğrulama: Data Annotations ile kapsamlı doğrulama ve Tag Helpers ile hata mesajı gösterimi.

3. 🖼️ Arayüz ve Kullanılabilirlik

  • Tasarım: Bootstrap 5 ile responsive, modern kart tasarımı.
  • Servisler: Resim yükleme & eski resmi silme (IImageService ile wwwroot/images/products klasörü yönetimi).
  • Geri Bildirim: TempData ile başarılı/uyarı mesajları.

👑 ADMIN PANELİ İŞLEVLERİ

(Sadece Admin rolüne sahip kullanıcılar bu işlevlere erişebilir.)

  • Kategori Yönetimi: Kategori CRUD (Ekle/Düzenle/Sil/Listele) işlemleri.
  • Ürün Yönetimi: Sistemdeki tüm ürünleri denetleme, onaylama veya silme imkânı.
  • Kullanıcı Yönetimi: Kullanıcı listesini görüntüleme, hatalı hesapları silme veya askıya alma.
  • Rol Atama: Kullanıcılara Admin veya User yetkisi tanımlama.
  • Şifre Sıfırlama: Şifresini unutan veya erişim sorunu yaşayan kullanıcılar için manuel şifre sıfırlama desteği.
  • İstatistik Paneli: Toplam kullanıcı, kategori ve ürün sayılarını içeren basit özet ekranı.

👤 KULLANICI İŞLEVLERİ

  • İlan Yönetimi: Kullanıcılar kendi ürünlerini ekle, düzenle ve sil yetkisine sahiptir.
  • İlan Oluşturma: Resim yükleyerek ürün ilanı oluşturma.
  • Listeleme: Ana sayfada tüm aktif ürünleri kartlarla görüntüleme.
  • Özel Sayfa: Kendi ilanlarım sayfası.

🎁 BONUS & EKSTRA ÖZELLİKLER

Projenin akademik kalitesini ve işlevselliğini artıran ek geliştirmeler:

Özellik Adı Açıklama Uygulama
Arama & Filtreleme Ürün başlığına göre arama ve kategori bazlı filtreleme işlevi (Home/Search). Genişletilmiş CRUD
Gelişmiş Detay Ürün detay sayfası (Home/Details). Genişletilmiş CRUD
Kod Temizliği StringExtensions ile açıklama metni kısaltma (truncate) ve ImageService gibi temiz yardımcı sınıflar. Clean Code
Veritabanı Başlangıcı 5 adet hazır kategori (Elektronik, Ev Eşyası, Giyim, Kitap, Spor) seed data olarak eklenmiştir. EF Core Seed
Otomatik Admin Uygulama ilk çalıştığında otomatik olarak Admin hesabı seed edilir. EF Core Seed

🔑 VARSAYILAN GİRİŞ BİLGİLERİ

Projeyi test etmek için kullanılabilecek otomatik oluşturulmuş hesaplar:

Rol Ad Soyad E-posta Şifre
Admin - admin@secondhand.com Admin123!
Kullanıcı Shahryar Hayati shahryar.hayati@gmail.com Shahryar123

Tip

Not: Shahryar Hayati hesabı kullanıcı rolüyle tanımlıdır. Diğer kullanıcılar kayıt formunu kullanarak kendi hesaplarını oluşturabilirler.


⚙️ Projeyi Çalıştırma

Bu proje ASP.NET Core MVC kullanılarak geliştirilmiştir ve veritabanı işlemleri için Entity Framework Core (Code-First) yaklaşımı kullanılmaktadır. Projeyi çalıştırmadan önce bilgisayarınızda MS SQL Server LocalDB kurulu olmalıdır.

🧩 Gerekli Ortam

Projeyi sorunsuz bir şekilde çalıştırabilmek için aşağıdaki bileşenlerin sistemde kurulu olması gerekmektedir:

  • Windows 10 / 11
  • Visual Studio 2022
  • .NET 7 veya .NET 8
  • MS SQL Server LocalDB

▶️ Projenin Çalıştırılması

Projeyi çalıştırmak için, proje klasöründe (yani .csproj dosyasının bulunduğu dizinde) bir terminal açarak aşağıdaki komutları sırasıyla çalıştırmanız yeterlidir:

# Veritabanını oluşturur ve günceller (Tüm Migration ve Seed Data'ları içerir)
dotnet ef database update

# Uygulamayı çalıştırır
dotnet run

About

web-programming-project-2025-sh454 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors