RentACar Backend API – Spring Boot ile RESTful Servis
Proje Hakkında
RentACar Backend API, bir araç kiralama sisteminin arka uç mantığını simüle eden, Java ve Spring Boot ile geliştirilmiş yalnızca backend odaklı bir projedir. Proje tamamen API tabanlıdır; sürdürülebilirliği ve ölçeklenebilirliği sağlamak için iş mantığı, veri erişimi ve web katmanlarını birbirinden ayıran katmanlı ve modüler bir mimariyi takip eder.
Bu proje aracılığıyla Spring Boot temelleri, dependency injection, JPA/Hibernate, ModelMapper ile DTO eşleme, @Valid kullanarak istek doğrulama ve küresel istisna yönetimi (global exception handling) konularında pratik deneyim kazandım. Tüm API'ler Swagger kullanılarak belgelenmiştir, bu da uç noktaların keşfedilmesini ve uygulama yapısının anlaşılmasını kolaylaştırır.
Backend; markaların ve modellerin yönetimi için iş kuralları ve doğrulamaları (örneğin benzersiz marka isimleri, markalar ve modeller arasındaki bire-çok ilişkiler) içeren tam işlevsel uç noktalar sunar. Araç (Car) varlık mantığı uygun ilişkilerle kurulmuştur ve API'ler ile kolayca genişletilebilir. Hata yönetimi ProblemDetails kullanılarak yapılandırılmıştır; bu sayede sistem iç detayları dışarı sızdırılmazken istemcilere anlamlı hata mesajları sağlanır.
Bu proje, temiz mimari prensiplerini anlamak, RESTful API'ler inşa etmek ve sürdürülebilir, ölçeklenebilir backend kodları oluşturmak amacıyla Spring Boot ile backend geliştirme konusundaki öğrenme yolculuğumun bir parçası olarak geliştirilmiştir. Gelecekteki iyileştirmeler arasında kimlik doğrulama ve yetkilendirme, Araç varlığı için API'ler, sayfalama ve filtreleme özellikleri ile canlıya alım hazırlığı için PostgreSQL'e geçiş yer almaktadır.