CarRental, .NET 8 Web API ve Core MVC mimarisiyle geliştirilmiş, modern araç kiralama süreçlerini yöneten uçtan uca bir platformdur. Proje, kurumsal standartlara uygun Onion Architecture prensipleriyle inşa edilmiştir.
Sistemdeki tüm araçları, rezervasyon süreçlerini ve istatistikleri anlık olarak takip edebileceğiniz modern paneller.
(Sol: Admin Paneli, Sağ: Moderatör Paneli)
Güvenli giriş, kayıt ve profil yönetim ekranları.
(Sırasıyla: Giriş Yap, Kayıt Ol)
Admin yetkisine sahip kullanıcıların erişebildiği, tüm operasyonun yönetildiği merkez.
Moderatörlerin içerik üretebildiği ve kendi bilgilerini yönettiği özel alan.
Kullanıcıların araçları filtreleyebildiği ve detaylarını inceleyebildiği ekranlar.
Rezervasyon başlangıcındaki filtreleme ekranından kurumsal iletişim sayfalarına kadar tüm destek süreci.
Zengin blog içerikleri, yazar detayları ve kullanıcı yorumları.
(Sırasıyla: Blog Index, Blog Detay, Yorumlar ve Yorum Yapma Bölümleri)
- Dinamik Rol Yönetimi: Kullanıcıları Admin paneli üzerinden görüntüleme ve tek tıkla Moderatör yetkisi atama.
- Güvenli Giriş: BCrypt şifreleme ve JWT (JSON Web Token) tabanlı oturum yönetimi.
- Kiralama Akışı: Lokasyon, vites, yakıt gibi özelliklere göre araç arama ve rezervasyon süreci yönetimi.
- Email Confirmation: Rezervasyon tamamlandığında kullanıcıya gönderilen otomatik HTML onay e-postası.
- Onion Architecture: Bağımlılıkları minimize eden, test edilebilir çok katmanlı yapı.
- CQRS & Mediator: MediatR ile ayrıştırılmış komut ve sorgu yönetimi.
- Eager Loading: EF Core ile ilişkili tabloların (
Include) performanslı yönetimi.
- Backend: C#, .NET 8, Web API
- Design Patterns: CQRS, Mediator, Repository, Unit of Work
- Database: MSSQL, Entity Framework Core (Code First)
- Frontend: ASP.NET Core MVC, Bootstrap 5, Remix Icons
- Security: JWT, User Secrets, BCrypt
Proje güvenliği için hassas veriler appsettings.json yerine Secret Manager'da tutulmaktadır. Kurulum için:
- Repoyu klonlayın.
- WebApi projesine sağ tıklayıp Manage User Secrets diyerek aşağıdaki şablonu doldurun:
{
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER_NAME;Database=CarRentalDb;Integrated Security=true;TrustServerCertificate=true;"
},
"Jwt": {
"Key": "Minimum32KarakterlikGucluBirSecretKey",
"Issuer": "CarRentalIdentity",
"Audience": "CarRentalClients"
},
"EmailSettings": {
"SmtpServer": "smtp.gmail.com",
"SmtpPort": 587,
"SenderEmail": "your-email@gmail.com",
"SenderPassword": "your-app-password"
}
}
- Migration Uygulayın: Package Manager Console -> Update-Database
Geliştirici: EnessCode


















