Merhaba, bu proje sayın Engin Demiroğ'un ücretsiz olarak sunduğu 'Yazılım Geliştirici Yetiştirme Kampı' için verilen ödevler doğrultusunda geliştirilmiştir.
- Back-End
- C# Vers. 7.3
- Restful Web Api Vers. .Net Core 3.1
- Katmanlı Mimari
- Temel Result Türü
- Interceptor, Aspectler
- Cache, Validate, Authorize Aspect
- Autofac
- AutoFilterer
- Fluent Validation
- Json Web Token
- Repository Design Pattern
- Asenkron Yapı
- Front-End
- Angular 11
- Bootstrap 5.0
- HttpClient Interceptor
- Temel Guard
- Özel Pipeler
ReCapProject içerisinde Libraries > DataAccess > Concrete > EntityFramework > Contexts içerisinde bulunan ReCapContext dosyasının içerisine kullanılacak veritabanı türünün ayarları ve bağlantı cümlesi yapılmalıdır. Varsayılan ayarlar Sql Server içindir.
Token ayarları için, Presentations > WebAPI > appsettings.json dosyasına token kimliği ile ilgili ayar yapılması önerilir.
ReCapProject içerisinde Presentations > AngularUI > src > environments klasörü içerisinde bulunan environment.ts dosyasının içerisindeki apiUrl adlı değişkene Web API bağlantısı için gerekli ip adresi ve portu verilmelidir.
Komut İsteminde AngularUI klasörü seçili olmalıdır.
Aşağıdaki kod, projede kullanılan ancak sizin cihazınıdaki eksik paketleri indirecektir.
npm install
Aşağıdaki kod, Angular projesini ayağa kaldırmak için kullanılır.
ng serve --open
Sisteme markalar ve renkler tanımlanır, kayıt edilecek araçların markası ve rengi seçilir.
Araçlar; Marka, Renk, Model Yılı, Günlük Fiyat, Açıklama ve En Düşük Kredi Skoru alanlarına sahiptir.
Müşteriler; Firma Adı, İsim, Soyisim, E-Posta, Şifre ve Durum alanlarına sahiptir.
Kiralama; Araç, Müşteri, Kira Tarihi, Kira Bitiş Tarihi alanlarına sahiptir.
Ödeme; Kira Kimliği, Ödenen Fiyat alanlarına sahiptir.
Kredi Kartları; Müşteri, Kart Sahibinin Adı ve Soyadı, Kart Numarası, Son Kullanma Tarihi ve Cvv Kodu alanlarına sahiptir.
Her bir araç için 5 adet fotoğraf sınırı ayarlanmıştır. Fotoğraflar benzersiz isimlerle saklanır. Aracın hiç fotoğrafı yoksa varsayılan bir resim gösterilir.
Müşteri sistemi kullanarak istediği bir aracı belirlediği tarihler arasında kiralayabilir.
Müşterinin Findeks numarası hesaplanır, aracın Findeks Numarasıyla karşılaştırılır, müşterinin Findeks numarası büyükse aracı kiralayabilir.
Belirtilen tarihler arasında araç başka bir müşteriye kiralanmışsa ekranda uyarı çıkacaktır.
Kiralama işlemi bittikten sonra Ödeme Sayfası açılacaktır.
Ödeme sayfasında Kart bilgilerini doldurmak için bir form ve yan tarafında sanal bir kart tasarımı vardır. Sanal Kartın arasında daha önce müşteri bir kartını kayıt etmişse, kayıtlı kartlar listelenecektir. Kayıtlı bir kart seçildiği zaman gerekli alanlar otomatik doldurulacaktır.
Kart bilgileri girilip Ödemeyi Tamamla butonuna basınca ödeme işlemi tamamlanacak ve kartın sisteme kayıt edilip edilmeyeceği sorulur.
Kayıt olmayan birisi sistemde belirlenen sayfalara erişemez ve bir uyarı mesajı ile birlikte kayıt sayfasına yönlendirilir.
Kullanıcı menüden hızlıca kayıt olabilir ya da giriş yapabilir. Giriş yaptığı zaman aynı yerden profilini düzenleyebilir.
Her kullanıcının yetkileri özelleştirilebilir. Back-End tarafında kullanılan her metot kullanıcının yetkileriyle çalışır. Kullanıcının yapmaya çalıştığı işlem için yetkisi yoksa durumla ilgili bir uyarı mesajı alır.