ShopApp
ShopApp projesi, Sadık Turan hocamızın eğitiminden öğrendiklerimle .Net Core 6.0 sürümüyle geliştirilmiştir . Bu Proje ; Asp.Net Core Mvc, Entity Framework Core, MSSQL veri tabanı, OOP, Code First, Migration, Identity, Authorization & Authentication, Session, Iyzico kredi kartı entegrasyonu gibi birçok teknoloji kullanılarak geliştirilmiş
Install / Use
/learn @halilibrahimgedik/ShopAppREADME
ShopApp
Bu proje Udemy, Youtube gibi platformlardan öğrendiklerimi uygulamak amacıyla C# ve Asp.Net Core 6.0 teknolojileri kullanılarak geliştrilmiş bir bir mini e-ticaret sitesidir.
Kullanılan Teknolojiler
ShopApp e-ticaret uygulamasını geliştirirken kullandığım teknolojiler ve yaklaşımlar;
- C#
- .Net Core Mvc
- Code First
- Entity Framework Core
- N-Tier Architecture
- UnitOfWork
- Dependency Injection
- Fluent Validation
- Asp.Net Core Identity
- Authorization & Authentication
- Session
- Microsoft SQL Server
- Iyzico integration gibi birçok teknoloji ve yaklaşım kullanılarak geliştirilmiştir.
Login
ShopApp projesini başlattığınızda, uygulama oturum açma sayfasına yönlendirilir. Uygulama başlatıldığında, veritabanında iki kullanıcı kaydı bulunur:
- Yönetici (admin) kullanıcısı
- Müşteri (customer) kullanıcısı. Projemizde şu anda sadece "admin" ve "customer" adlı iki kullanıcı bulunmaktadır. İsterseniz uygulamaya e-posta adresinizle kayıt olabilir ve hesabınıza gelen onay mesajını onaylayarak müşteri girişi yapabilirsiniz.
1-) Customer Login
- E-Mail : customer@shopapp.com
- Password : Shopapp123 e-mail ve password bilgileri ile login sayfasından müşteri girişi yaparak uygulamamızı inceleyebilirsiniz.
Not : Kişisel e-posta adresinizle uygulamamıza kayıt olduktan ve onay e-postasını onayladıktan sonra kendi hesabınız üzerinden müşteri girişi yapabilirsiniz. Onay mailinin gelmesi bazen 1-2 dakika almaktadır.

Müşteri (customer) bilgileri ile giriş yaptıktan sonra karşımıza uygulamamızın anasayfası gelecektir.

Filtreleme yaparak istediğiniz ürünlere daha koaly bir şekilde ulaşabilirsiniz.

1.1 Sepete Ürün Ekleme
Her bir ürün üzerindeki 'Add to Cart' butonuna tıklayarak sepetinize ürün ekleyebilirsiniz.

- Eklediğiniz ürünleri sepetinizde (MyCart sekmesinden) görüntüleyebilirsiniz.

1.2 Ödeme Sayfası
Sepetinizdeki ürünleri satın almak için Kart ve Sipariş bilgilerini doldurarak satın alma işlemini gerçekleştirebilirsiniz.

Kart Bilgileri doğru girilmiş ise Başarılı İşlem Sayfasına yönlendirilirsiniz.

1.3 Siparişlerim Sayfası
Sipariş ile ilgili detayları görmek veya geçmiş siparişleri görüntülemek için Siparişlerim (Orders) sekmesi üzerinden görüntüleyebilirsiniz.

1.4 Iyzico Ödeme Altyapısı
https://sandbox-merchant.iyzipay.com/auth/login adresine eriştikten sonra, test amaçları için tasarlanmış sistemde aşağıda belirtilen bilgilerle oturum açabilirsiniz. Giriş yaptıktan sonra, "Dashboard" sekmesine giderek sipariş işlemlerini görüntüleyebilirsiniz.
- E-mail : pobavo8586@czilou.com
- Password : 741963


Daha fazla ayrıntı için paneldeki "Transactions" bölümüne ve ardından "All Transactions" seçeneğine tıklayarak detaylara ulaşabilirsiniz.

2-) Admin Login
- E-Mail : admin@shopapp.com
- Password : Shopapp123 e-mail ve password bilgileri ile login sayfasından admin girişi yaparak uygulamamızı inceleyebilirsiniz.

Admin bilgileri ile giriş yaptıktan sonra karşımıza admin için özelleştirilmiş bir anasayfa yapısı bizi karşılayacaktır.

2.1 Ürün İşlemleri
- Ürünleri Listeleme, Ekleme, Silme, Güncelleme ve istersek ürünü aktif, pasif yaparak satışa sunulmasına müdahale edebiliriz. Ayrıca, hangi ürünlerin anasayfada listeleneceğine karar verebiliriz.
2.1.1 Ürün Listeleme Sayfası
Bu arayüz üzerinden ürün ekleme (Add Product) ve güncelleme (Edit) sayfalarına gidebilir, ayrıca Ürün silebilirsiniz (delete butonunu kullanarak).

2.1.2 Ürün Ekleme
Bu arayüz üzerinden ilgili ürün Ekleyebilirsiniz.

2.1.3 Ürün Güncelleme
Bu arayüz üzerinden ilgili ürün güncelleyebilirsiniz.

2.2 Kategori İşlemleri
2.2.1 Kategori Listeleme Sayfası
Bu arayüz üzerinden Kategori ekleme ve güncelleme sayfalarına gidebilir, ayrıca önceden eklenmiş bir kategoriyi silebilirsiniz.

2.2.2 Kategori Ekleme
Bu arayüz üzerinden kategori Ekleyebilirsiniz.

2.2.3 Kategori Güncelleme
Bu arayüz üzerinden ilgili kategoriyi güncelleyebilirsiniz.

2.3 Rol İşlemleri
Bu arayüz üzerinden kullanıcı rol Ekleme ve rol güncelleme arayüzüne kolayca gidebilir ve istediğiniz rolü silebilirsiniz.

2.3.1 Rol Güncelleme & Yönetme
Bu arayüz üzerinden ilgili kullanıcıyı istediğiniz admin rölüne veya customer rolüne atayabilirsiniz.

2.4 Kullanıcı İşlemleri
Uygulamada kayıtlı olan kullanıcılar 'DataTables' kütüphanesi kullanılarak listelenmiştir. Bu arayüz üzerinden kullanıcı Ekleme , güncelleme ve silme işlemlerini gerçekleştirebilirsiniz.
Not : e-postası onaylanmamış kullanıcılar kullanıcılar tablosunda siyah olarak listelenir. Edit butonuna tıklayarak kullanıcının e-postasını manuel bir şekilde güncelleyebilirsiniz.

