RCStoreMVC, ASP.NET MVC framework'ü kullanılarak geliştirilmiş kapsamlı bir e-ticaret uygulamasıdır. Kullanıcı yönetimi, ürün katalogu, sepet işlemleri ve sipariş yönetimi gibi temel e-ticaret özelliklerini içerir.
- Kullanıcı kayıt ve giriş sistemi
- ASP.NET Identity ile güvenli kimlik doğrulama
- Rol tabanlı yetkilendirme (Admin/User)
- Kullanıcı profil yönetimi
- Kategori bazlı ürün organizasyonu
- Ürün listeleme ve detay görüntüleme
- Ana sayfa öne çıkan ürünler
- Admin panel ile ürün yönetimi (CRUD işlemleri)
- Session tabanlı sepet yönetimi
- Ürün ekleme/çıkarma/temizleme
- Sepet özeti görüntüleme
- Toplam fiyat hesaplama
- Sipariş oluşturma ve takip
- Kargo bilgileri yönetimi
- Sipariş durumu güncelleme
- Admin panel ile sipariş yönetimi
- Ürün yönetimi (Ekleme, düzenleme, silme)
- Kategori yönetimi
- Sipariş yönetimi ve durum güncelleme
- Kullanıcı rol yönetimi
- Framework: ASP.NET MVC 5
- Veritabanı: Entity Framework (Code First)
- Kimlik Doğrulama: ASP.NET Identity
- Frontend: HTML5, CSS3, JavaScript, Bootstrap
- Session Yönetimi: ASP.NET Session State
- Güvenlik: OWIN Authentication
- Visual Studio 2019 veya üstü
- .NET Framework 4.7.2 veya üstü
- SQL Server LocalDB veya SQL Server
- IIS Express
-
Projeyi klonlayın:
git clone [repository-url] cd RCStoreMVC -
Veritabanı bağlantısını yapılandırın:
web.configdosyasında connection string'i düzenleyin
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;..." providerName="System.Data.SqlClient" /> </connectionStrings>
-
Package Manager Console'da veritabanını oluşturun:
Enable-Migrations Add-Migration InitialCreate Update-Database -
Projeyi derleyin ve çalıştırın:
- Visual Studio'da F5 tuşuna basın veya
Build>Build Solutionmenüsünden projeyi derleyin
-
Kayıt Olma:
- Ana sayfadan "Kayıt Ol" linkine tıklayın
- Gerekli bilgileri doldurun
- Otomatik olarak "user" rolü atanır
-
Giriş Yapma:
- "Giriş Yap" linkine tıklayın
- Kullanıcı adı ve şifre ile giriş yapın
-
Alışveriş:
- Ürünleri kategorilere göre görüntüleyin
- Sepete ürün ekleyin
- Sepet özeti kontrolü yapın
- Checkout işlemi ile sipariş verin
-
Admin Girişi:
- Admin rolüne sahip kullanıcı ile giriş yapın
- Admin paneli menüleri görünür hale gelir
-
Ürün Yönetimi:
/Productsayfasından ürün ekleyin, düzenleyin, silin- Ürün kategorilerini belirleyin
- Ana sayfa görünürlüğünü ayarlayın
-
Sipariş Yönetimi:
/Ordersayfasından siparişleri görüntüleyin- Sipariş durumlarını güncelleyin (Onaylama/İptal)
RCStoreMVC/
├── Controllers/
│ ├── AccountController.cs # Kullanıcı kimlik doğrulama
│ ├── CartController.cs # Sepet işlemleri
│ ├── CategoryController.cs # Kategori yönetimi (Admin)
│ ├── HomeController.cs # Ana sayfa ve ürün listeleme
│ ├── OrderController.cs # Sipariş yönetimi (Admin)
│ └── ProductController.cs # Ürün yönetimi (Admin)
├── Models/
│ ├── AdminOrderModel.cs # Admin sipariş görünüm modeli
│ ├── Cart.cs # Sepet ve sepet satırı modelleri
│ ├── LinksModel.cs # Link modeli
│ ├── Login.cs # Giriş form modeli
│ ├── ProductModel.cs # Ürün görünüm modeli
│ ├── Register.cs # Kayıt form modeli
│ ├── ShippingDetails.cs # Kargo bilgileri modeli
│ └── UserOrderModel.cs # Kullanıcı sipariş modeli
├── Entity/ # Entity Framework modelleri
├── Identity/ # ASP.NET Identity yapılandırması
└── Views/ # MVC görünüm dosyaları
GetCart(): Session'dan sepet bilgisini alırAddToCart(): Sepete ürün eklerRemoveFromCart(): Sepetten ürün çıkarırCheckout(): Sipariş oluşturma işlemi
Register(): Yeni kullanıcı kayıt işlemiLogin(): Kullanıcı giriş işlemiIndex(): Kullanıcının sipariş geçmişi
GetHomePageProducts(): Ana sayfa ürünlerini getirirList(): Kategori bazlı ürün listelemeGetProductQuery(): Ürün sorgulama metodu
- Anti-Forgery Token: Form güvenliği için CSRF koruması
- Role-based Authorization: Controller ve action seviyesinde yetkilendirme
- Input Validation: Model bazlı girdi doğrulama
- Secure Authentication: ASP.NET Identity ile güvenli kimlik doğrulama
- Sepet bilgileri session'da saklanır, veritabanında tutulmaz
- Sipariş numaraları rastgele 6 haneli "P" prefiksi ile oluşturulur
- Admin işlemleri için "admin" rolü gereklidir
- Ürün fiyatları
doubletipinde saklanır
- Bu repository'yi fork edin
- Yeni bir feature branch oluşturun (
git checkout -b feature/AmazingFeature) - Değişikliklerinizi commit edin (
git commit -m 'Add some AmazingFeature') - Branch'inizi push edin (
git push origin feature/AmazingFeature) - Bir Pull Request oluşturun
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakınız.
Proje hakkında sorularınız için issue açabilir veya iletişime geçebilirsiniz.
Not: Bu proje eğitim amaçlı geliştirilmiştir. Production ortamında kullanım öncesi güvenlik ve performans testleri yapılması önerilir.