Skip to content

ozanercan/ReCapProject

Repository files navigation

Araç Kiralama Projesi

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.

Kullanılan Teknolojiler & Yapılar

  • 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

Temel Ayarlar

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.

Kullanım

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

Temel Tablo Tanımları

Marka & Renk

Sisteme markalar ve renkler tanımlanır, kayıt edilecek araçların markası ve rengi seçilir.

Araç

Araçlar; Marka, Renk, Model Yılı, Günlük Fiyat, Açıklama ve En Düşük Kredi Skoru alanlarına sahiptir.

Müşteri

Müşteriler; Firma Adı, İsim, Soyisim, E-Posta, Şifre ve Durum alanlarına sahiptir.

Kiralama

Kiralama; Araç, Müşteri, Kira Tarihi, Kira Bitiş Tarihi alanlarına sahiptir.

Ödeme

Ödeme; Kira Kimliği, Ödenen Fiyat alanlarına sahiptir.

Müşteri Kredi Kartları

Kredi Kartları; Müşteri, Kart Sahibinin Adı ve Soyadı, Kart Numarası, Son Kullanma Tarihi ve Cvv Kodu alanlarına sahiptir.

Özellikler

Araç İle İlgili

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.

Kira İle İlgili

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 İle İlgili

Ö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 İle İlgili

Kayıt olmayan birisi sistemde belirlenen sayfalara erişemez ve bir uyarı mesajı ile birlikte kayıt sayfasına yönlendirilir.

Kullanıcı İle İlgili

Kullanıcı menüden hızlıca kayıt olabilir ya da giriş yapabilir. Giriş yaptığı zaman aynı yerden profilini düzenleyebilir.

Yetki İle İlgili

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.

Birkaç Görsel

Image of Yaktocat

Image of Yaktocat

Image of Yaktocat

Image of Yaktocat

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published