/RentaCarProject

Kodlama.io kamp gelisim projesidir.

Primary LanguageC#

RentaCarProject

Kodlama.io kamp gelisim projesidir. Gelistiren Rahim Cubuk.

Uygulama gelistirme surecinde back-end tarafında cok katmanli mimari kullanılmıştır. Uygulama AOP, FluentValidatın, Autofac, WebAPI ile güclendirilmiş ve SOLID kurallarına bağlı kalınmıştır.

Geliştirme Ortam Bilgileri

  • Geliştirme aşamasında "Microsoft Blend for Visual Studio Community 2019 Version 16.8.5" kullanılmıştır.
  • Veritabanı olarak MsSQL kullanılmış ve veritabanı ile iletişim "Microsoft.EntityFrameworkCore.SqlServer v3.1.11" ile sağlanmıştır.
  • Veritabanı "Microsoft SQL Server Management Studio 11.0.3000.0" ile tasarlanıştır.
  • Frontend gelistirme asamasinda "Visual Studio Code 1.54.1" kullanilmistir. NOT: Verıtabanı dosyaları "Entities/Database" klasörü içerisindedir. Uygun bir programda(min SQL server 12) script.sql dosyasını çalıştırırsanız veritabanı bilgisayarınıza yüklenmiş olacaktır. Sonrasında uygulamayı kullanmaya başlayabilirsiniz.

Kodlama.io 15. gun odev gereksinimleri

  • Cache, Transaction ve Performance aspectlerini ekleyiniz.

Kodlama.io 14. gun odev gereksinimleri

  • RentACar projenize JWT entegrasyonu yapınız.

Kodlama.io 13. gun odev gereksinimleri

  • CarImages (Araba Resimleri) tablosu oluşturunuz. (Id,CarId,ImagePath,Date) Bir arabanın birden fazla resmi olabilir.
  • Api üzerinden arabaya resim ekleyecek sistemi yazınız.
  • Resimler projeniz içerisinde bir klasörde tutulacaktır. Resimler yüklendiği isimle değil, kendi vereceğiniz GUID ile dosyalanacaktır.
  • Resim silme, güncelleme yetenekleri ekleyiniz.
  • Bir arabanın en fazla 5 resmi olabilir.
  • Resmin eklendiği tarih sistem tarafından atanacaktır.
  • Bir arabaya ait resimleri listeleme imkanı oluşturunuz. (Liste)
  • Eğer bir arabaya ait resim yoksa, default bir resim gösteriniz. Bu resim şirket logonuz olabilir. (Tek elemanlı liste)

Kodlama.io 12. gun odev gereksinimleri

  • Car Rental Projenize Autofac desteği ekleyiniz.
  • Car Rental Projenize FluentValidation desteği ekleyiniz.
  • Car Rental Projenize AOP desteği ekleyiniz.
  • ValidationAspect ekleyiniz.

Kodlama.io 11. gun odev gereksinimleri

  • WebAPI katmanını kurunuz.
  • Business katmanındaki tüm servislerin Api karşılığını yazınız.

Kodlama.io 10. gun odev gereksinimleri

  • Core katmanında Results yapılandırması yapınız.
  • Kullanıcılar tablosu oluşturunuz. Users-->Id,FirstName,LastName,Email,Password
  • Müşteriler tablosu oluşturunuz. Customers-->UserId,CompanyName
  • Kullanıcılar ve müşteriler ilişkilidir.
  • Arabanın kiralanma bilgisini tutan tablo oluşturunuz. Rentals-->Id, CarId, CustomerId, RentDate(Kiralama Tarihi), ReturnDate(Teslim Tarihi). Araba teslim edilmemişse ReturnDate null'dır.
  • Projenizde bu entity'leri oluşturunuz.
  • CRUD operasyonlarını yazınız.
  • Yeni müşteriler ekleyiniz.
  • Arabayı kiralama imkanını kodlayınız. Rental-->Add
  • Arabanın kiralanabilmesi için arabanın teslim edilmesi gerekmektedir.

Kodlama.io 9. gun 1. odev gereksinimleri

CarRental Projenizde Core katmanı oluşturunuz.

  • IEntity, IDto, IEntityRepository, EfEntityRepositoryBase dosyalarınızı 9. gün dersindeki gibi oluşturup ekleyiniz.
  • Car, Brand, Color sınıflarınız için tüm CRUD operasyonlarını hazır hale getiriniz.
  • Console'da Tüm CRUD operasyonlarınızı Car, Brand, Model nesneleriniz için test ediniz. GetAll, GetById, Insert, Update, Delete.
  • Arabaları şu bilgiler olacak şekilde listeleyiniz. CarName, BrandName, ColorName, DailyPrice. (İpucu : IDto oluşturup 3 tabloya join yazınız)

Kodlama.io 8. gun 1. odev gereksinimleri

Car nesnesine ek olarak;

  • Brand ve Color nesneleri ekleyiniz(Entity)
    • Brand-->Id,Name
    • Color-->Id,Name
  • Sql Server tarafında yeni bir veritabanı kurunuz. Cars,Brands,Colors tablolarını oluşturunuz. (Araştırma)
  • Sisteme Generic IEntityRepository altyapısı yazınız.
  • Car, Brand ve Color nesneleri için Entity Framework altyapısını yazınız.
  • GetCarsByBrandId , GetCarsByColorId servislerini yazınız.
  • Sisteme yeni araba eklendiğinde aşağıdaki kuralları çalıştırınız.
    • Araba ismi minimum 2 karakter olmalıdır
    • Araba günlük fiyatı 0'dan büyük olmalıdır.

Kodlama.io 7. gun 2. odev gereksinimleri

  • Entities, DataAccess, Business ve Console katmanlarını oluşturunuz.
  • Bir araba nesnesi oluşturunuz. "Car"
  • Özellik olarak : Id, BrandId, ColorId, ModelYear, DailyPrice, Description alanlarını ekleyiniz. (Brand = Marka)
  • InMemory formatta GetById, GetAll, Add, Update, Delete oprasyonlarını yazınız.
  • Consolda test ediniz.

Yardım, destek, öneri için rahimcubuk@gmail.com adresine mail atabilirsiniz.