Skip to content

Gonulkaba/Car-Book-Project

Repository files navigation

🚗 CarBook Projesi

🌐 Projeye Genel Bakış

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.


🧰 Kullanılan Teknolojiler

💻 Backend Teknolojileri

  • 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.

🧱 Yazılım Mimarisi ve Desenleri

  • 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.

🔐 Güvenlik ve Doğrulama

  • 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.

🌐 Gerçek Zamanlı İletişim

  • SignalR: Kullanıcıların sistemde gerçekleştirdiği bazı işlemlerin anlık bildirimler ile iletilmesi sağlanmıştır.

🎨 Ön Yüz ve UI Bileşenleri

  • 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.

🖥️ Kullanıcı Paneli

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.

👥 Kullanıcıların Yapabilecekleri

  • 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

💡 Teknik Özellikler

  • wwwroot dizini 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

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.

🧾 Yönetilebilir Modüller

  • 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ı

📊 Ekstra Özellikler

  • 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
  • wwwroot dizini altındaki özel tasarımlı Admin şablonu üzerine kuruldu.

🔐 Login ve Register Paneli

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.

🛡️ Güvenlik ve Rol Tabanlı Erişim

  • 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.

✨ Proje Ekran Görüntüleri


🖥️ Kullanıcı Arayüzü

Ana Sayfa

DefaultIndex

Araç Fiyatları

CarPricingIndex

Arabalar

CarIndex

Araba Detay

CarCarDetail1

CarCarDetail2 CarCarDetail3 CarReview

Bloglar

BlogIndex

Blog Detay

BlogBlogDetail

İletişim

ContactIndex ContactForm

Filtreli Araba Listesi

RentACarList

Rezervasyon

ReservationIndex

Footer Alert

Footer1 Footer2

Erişim Engelleyici

AccessDenied

Giriş & Kayıt

LoginIndex RegisterCreateAppUser


🛠️ Admin Paneli

Dashboard

AdminDashboardIndex

İstatistik

AdminStatisticIndex

Araba İşlemleri

AdminCarIndex AdminCarGetCarListByBrandId

Araba Özellikleri

AdminFeatureIndex AdminCarFeatureDetailIndex

Markalar

AdminBrandIndex

Banner Alanı

AdminBannerIndex

Hakkımızda

AdminAboutIndex

Yazar İşlemleri

AdminAuthorIndex

Blog Kategorileri

AdminCategoryIndex

Blog İşlemleri

AdminBlogIndex AdminCommentIndex

Ödeme Türleri

AdminPricingIndex

İletişim

AdminContactIndex

Alt Adres

AdminFooterAddressIndex

Lokasyonlar

AdminLocationIndex

Hizmetler

AdminServiceIndex

Sosyal Medya

AdminSocialMediaIndex

Referanslar

AdminTestimonialIndex

🚀 API

Swagger

⚙ Veri Tabanı

VeriTabanı

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors