• İkamet: Türkiye
  • Şehir: Çanakkale
  • Yaş: 22
Proje Detayları

CarRental - .NET Core Araç Kiralama Backend

CarRental - .NET Core Araç Kiralama Backend

Proje Açıklaması

CarRental, Engin Demiroğ'un yazılım kampı kapsamında geliştirdiğim, modern yazılım mimarisi prensiplerini uygulayan bir araç kiralama sistemi backend projesidir. Bu proje, C# programlama dili ve .NET Core 6 framework'ü kullanılarak geliştirilmiştir.

 

Mimari Yapı

Proje, yazılım geliştirmenin en iyi uygulamalarını takip eden katmanlı bir mimari üzerine inşa edilmiştir:

Entities Layer: Sistemdeki temel veri modellerini (Car, Customer, Rental, Brand, Color vb.) içerir.

Data Access Layer: Veritabanı işlemlerini yönetir. Repository Design Pattern kullanılarak veri erişim katmanı soyutlanmıştır. Bu sayede veritabanı teknolojisini değiştirmek gerektiğinde sadece ilgili implementasyonun değiştirilmesi yeterli olur.

Business Layer: İş kurallarının ve validasyon işlemlerinin gerçekleştirildiği katmandır. Araç kiralanabilirlik durumu, müşteri limitleri, ödemeler gibi iş kuralları bu katmanda yönetilir.

API Layer: Dış dünya ile iletişimin sağlandığı RESTful Web API katmanıdır. HTTP metotları (GET, POST, PUT, DELETE) kullanılarak sistem fonksiyonlarına erişim sağlanır.

 

Teknik Özellikler

  • Repository Design Pattern: Veri erişim katmanının soyutlanması ve test edilebilirliğin artırılması
  • Dependency Injection: Bağımlılıkların yönetimi için .NET Core'un built-in DI container'ı
  • Fluent Validation: Veri doğrulama işlemleri için güçlü ve esnek bir yapı
  • Autofac: IoC Container olarak kullanılmış, modüler bir yapı sağlamaktadır
  • JWT Authentication: Güvenli API erişimi için JSON Web Token tabanlı kimlik doğrulama
  • Entity Framework Core: ORM aracı olarak kullanılmış, veritabanı işlemlerini kolaylaştırmaktadır
  • Cross-Cutting Concerns: Loglama, cache, transaction, authorization gibi kesişen ilgiler

 

Fonksiyonel Özellikler

Sistem aşağıdaki temel fonksiyonları desteklemektedir:

  • Araç envanterinin yönetimi (ekleme, silme, güncelleme, listeleme)
  • Araç kiralamalarının yönetimi ve takibi
  • Müşteri kaydı ve müşteri bilgilerinin yönetimi

Kullanılan Teknolojiler

C#
Visual Studio
Microsoft SQL Server
Microsoft .NET