Terminal tabanlı menülü araç kiralama uygulaması. Katmanlı mimari yaklaşımı ile esneklik, ölçeklenebilirlik ve bakım kolaylığı sunar.
- E-posta + şifre ile giriş/kayıt sistemi
- SHA-256 algoritması ile şifre hashleme
- Güvenli kullanıcı yönetimi
- ADMIN: Araç ekleme, güncelleme, silme, listeleme (CRUD)
- CUSTOMER (Bireysel/Kurumsal): Araç arama, kiralama, iptal işlemleri
- Sadece giriş yapmış kullanıcılar kiralama başlatabilir
- 3 Araç Tipi: Otomobil, Helikopter, Motosiklet
- Ortak contract (interface) ile genişletilebilir modelleme
- Her araç sınıfı için ayrı fiyat tarifesi
- Saatlik / Günlük / Haftalık / Aylık kiralama seçenekleri
- Tip, marka, fiyat aralığı ile filtreleme
- Sayfalama (pagination) desteği
- Esnek arama seçenekleri
- Kurumsal hesaplar: En az 1 ay kiralama yapabilir
- Yüksek değerli araçlar (>2M TL):
- Kiralayan için ≥30 yaş şartı
- %10 depozito verme zorunluluğu
- Seçilen tarih/saat aralığında çakışan kiralamalar engellenir
- Gerçek zamanlı müsaitlik kontrolü
- Kullanıcılar güncel ve geçmiş kiralamalarını görüntüleyebilir
- Kiralama iptal etme özelliği
- Otomatik depozito hesaplama ve kaydetme
- İptal/tamamlama akışlarında iade/mahsup yönetimi
- Güvenli depozito işlemleri
- Java 21 - Programlama dili
- PostgreSQL 16 - Veritabanı
- JDBC - Veritabanı bağlantısı
- Katmanlı Mimari - DAO/Service/Model/Main
- Java 21 veya üzeri
- PostgreSQL 16 veya üzeri
- Maven (opsiyonel)
util/database_schema.sqldosyasını açın ve çalıştırın.- Komut satırı (PowerShell) kullanıyorsanız, proje kökünde şu komutu çalıştırın:
psql -U postgres -h localhost -f util\database_schema.sqlexample\util\DBConnection.java içini veritabanı adınıza göre güncelleyin:
private static final String URL = "jdbc:postgresql://localhost:5432/rent-a-car";
private static final String USER = "postgres";
private static final String PASSWORD = "your_password";- Uygulamayı çalıştırın
- Ana menüden "Giriş Yap" veya "Kayıt Ol" seçin
- Rolünüze göre menü seçenekleri görüntülenir
- Admin: [email protected] / admin123
- Kurumsal: [email protected] / corp123
- Bireysel: [email protected] / user123
- Giriş Yap → E-posta ve şifre girin
- Araç Ara → Filtrelerle araç bulun
- Araç Kirala → Tarih seçin ve kirala
- Kiralamalarım → Kiralama geçmişinizi görün