CarBook, araç kiralama süreçlerini hem kullanıcılar hem de yöneticiler için kolaylaştırmayı hedefleyen, dinamik ve işlevsel bir web uygulamasıdır. Kullanıcılar, araçları lokasyon bazlı filtreleyerek listeleyebilir, detaylı bilgilerine erişebilir ve rezarvasyon işlemlerini hızlıca gerçekleştirebilirler. Yöneticiler, sistemin tüm bileşenlerini admin paneli üzerinden merkezi olarak yönetebilirler.
- ASP.NET Core 8.0 (MVC & Web API): Uygulamanın temel çatısını oluşturur. API ve UI katmanları bu yapı üzerinde geliştirilmiştir.
- Entity Framework Core (Code First Yaklaşımı): Veritabanı işlemleri için kullanılmış ve veri modelleri üzerinden otomatik migration işlemleri gerçekleştirilmiştir.
- Microsoft SQL Server (MSSQL): Tüm verilerin güvenli ve ilişkisel şekilde saklandığı veritabanıdır.
- LINQ: Veri sorgulama işlemlerinde kullanılarak kod okunabilirliği artırılmıştır.
- Onion Architecture: Katmanlı yapı sayesinde iş, veri ve sunum katmanları birbirinden ayrılarak sürdürülebilir bir yapı sağlanmıştır.
- CQRS (Command Query Responsibility Segregation): Sorgu ve komut işlemleri ayrıştırılarak daha temiz ve performanslı bir yapı elde edilmiştir.
- MediatR (Mediator Design Pattern): Katmanlar arası gevşek bağlılık sağlanarak kod tekrarları azaltılmıştır.
- Repository Design Pattern: Veri erişim katmanında soyutlama sağlanmış, test edilebilirlik ve genişletilebilirlik artırılmıştır.
- JWT (JSON Web Token): Kullanıcı kimlik doğrulaması ve yetkilendirme işlemleri için kullanılmıştır.
- FluentValidation: Giriş verilerinin kontrolü için güçlü ve esnek bir doğrulama sistemi entegre edilmiştir.
- SignalR: Kullanıcıların sistemde gerçekleştirdiği bazı işlemlerin anlık bildirimler ile iletilmesi sağlanmıştır.
- HTML, CSS, JavaScript: Projenin temel web arayüzünü oluşturur.
- Bootstrap: Responsive ve modern tasarımlı kullanıcı arayüzleri için kullanılmıştır.
- View Components & Areas: ASP.NET MVC yapısı içerisinde modüler ve bölgesel tasarım için tercih edilmiştir.
- SweetAlert: Uyarı, bildirim ve onay kutuları için kullanıcı dostu animasyonlu alert kutuları sağlanmıştır.
- Pivot Table (Özelleştirilmiş veri görselleştirme): Özellikle admin panelde dinamik veri sunumu ve analiz için kullanılmıştır.
CarBook’un kullanıcı arayüzü, modern ve duyarlı bir tasarım anlayışıyla geliştirildi. Kullanıcıların araç kiralama deneyimini kolaylaştıran, sade ama işlevsel bir yapı sunar. Arayüzde kullanılan tüm formlar, FluentValidation destekli giriş kontrolleri ile güçlendirilmiştir.
- Araçları listeleme ve lokasyona göre filtreleme
- Günlük, haftalık, aylık fiyat bilgilerine göre ödeme türü seçimi
- Araç detay sayfalarında teknik bilgilere ulaşma
- Araçlar hakkında yorum yapma ve diğer yorumları inceleme
- Giriş yaparak araçlar için rezervasyon oluşturma
- Yazarlar tarafından eklenen blog içeriklerini okuma ve yorum yapma
- İletişim paneli üzerinden mesaj gönderme
- Referans yorumlarını görüntüleme
wwwrootdizini altındaki özel tasarımlı CarBook-master şablonu üzerine kuruldu.- Sayfalarda çoklu veri gösterimlerinde pagination (sayfalandırma) sistemi kullanıldı.
- Blog ve bazı listeleme sayfalarında AJAX tabanlı dinamik sayfa yükleme yapıldı.
- Tüm kullanıcı etkileşimli alanlarda input validation uygulanmıştır.
Admin paneli, tüm içeriğin merkezi olarak yönetilebildiği kapsamlı ve esnek bir yapıya sahiptir. Projede CRUD işlemlerine dayalı geliştirilmiş bu panel sayesinde yöneticiler, sistemin her alanını hızlıca yönetebilir.
- Araçlar, özellikleri ve fiyat bilgileri
- Lokasyonlar
- Markalar ve modeller
- Blog yazarları, içerikleri ve kategoriler
- Kullanıcı yorumları ve referanslar
- Ödeme türleri (günlük / haftalık / aylık)
- Hakkımızda, iletişim, sosyal medya alanları
- Banner ve alt adres gibi site tasarımı alanları
- Dashboard’da istatistik takibi (Bazı veriler SignalR ile anlık olarak çekilir)
- Arama alanı sayesinde büyük listelerde filtreleme
- Tüm listelerde sayfalandırma (pagination) uygulanmıştır
- Her alan için dinamik olarak CRUD işlemleri gerçekleştirilebilir
wwwrootdizini altındaki özel tasarımlı Admin şablonu üzerine kuruldu.
CarBook projesinde kullanıcı kimlik doğrulama işlemleri, güvenliği ön planda tutacak şekilde yapılandırılmıştır. Kullanıcıların sisteme giriş ve kayıt işlemleri, JWT (JSON Web Token) teknolojisi ile desteklenerek oturum güvenliği sağlanmıştır.
- Giriş yapan her kullanıcıya, rollerine göre özel token oluşturulmakta ve bu token üzerinden yetkilendirme yapılmaktadır.
- Uygulama içinde sadece yetkili kullanıcıların erişebileceği alanlar, rol tabanlı kontrol ile sınırlandırılmıştır.
- Örneğin, yalnızca Admin rolüne sahip kullanıcılar admin paneline erişebilirken; standart kullanıcılar yalnızca araç listeleme, kiralama ve blog okuma gibi kullanıcıya açık sayfalarda işlem yapabilir.
- Kullanıcılar rezervasyon işlemini tamamlayabilmesi için sisteme giriş yapması gerekmektedir.
















