Python, Tkinter ve TTKBootstrap kullanılarak geliştirilmiş, MySQL ve SQLite veritabanı destekli, modern ve güvenli Araç Kiralama Otomasyonu projesi.
-
Çoklu Dil Desteği:
- Türkçe ve İngilizce dil seçenekleri.
- İlk açılışta dil seçimi ve sonradan Ayarlar menüsünden değiştirme imkanı.
- Değişiklikler otomatik olarak kaydedilir.
-
🔒 Veri Güvenliği (Şifreleme):
- Müşteri (TC, Telefon, Adres vb.) ve Araç (Şasi No, Motor No) bilgilerindeki hassas veriler veritabanına Fernet (AES) ile şifrelenerek kaydedilir.
- Veriler sadece uygulama arayüzünde şifresi çözülmüş olarak görüntülenir.
-
Çoklu Veritabanı Desteği:
- Varsayılan olarak kurulum gerektirmeyen SQLite ile çalışır.
- İstenirse
configüzerinden MySQL'e geçiş yapılabilir.
-
Kapsamlı Yönetim:
- Müşteri Yönetimi: Ekleme, listeleme, çift tıklayarak detay görüntüleme.
- Araç Yönetimi: Araç ekleme, listeleme, müsaitlik durumu takibi.
- Kiralama İşlemleri: Kolay seçim arayüzleri, ücret hesaplama, kiralama başlatma ve sonlandırma.
-
Modern ve Kullanışlı Arayüz:
ttkbootstrapile modern, temiz ve duyarlı (responsive) tasarım.- Özelleştirilmiş Tema: Rent A Car sektörüyle uyumlu renk paleti.
- Görsel Geri Bildirim: Butonlar üzerine gelince parlama ve çerçeve efekti (Hover).
- Kolay Erişim: Sol menüde tüm işlemlere ve Çıkış (Exit) butonuna hızlı erişim.
-
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
-
Uygulamayı çalıştırın:
python main.py
Not: GUI uygulaması olduğu için Docker ile çalıştırırken X11 yönlendirmesi (Xming, VcXsrv vb.) gereklidir.
-
Docker imajını oluşturun:
docker build -t rent-a-car . -
Konteynerı çalıştırın:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix rent-a-car(Windows Kullanıcıları İçin Önemli Not): Docker üzerinden arayüzü görebilmek için VcXsrv (veya benzeri bir X Server) kurulu olmalıdır.
- VcXsrv'ı başlatırken "Extra settings" ekranında "Disable access control" seçeneğini mutlaka işaretleyin.
docker-compose.ymlkullanıyorsanız şu komut yeterlidir:docker compose up --build
- Hata alırsanız (
couldn't connect to display), Windows Güvenlik Duvarı'ndan VcXsrv'a izin verildiğinden emin olun.
A modern and secure Car Rental Automation project developed using Python, Tkinter, and TTKBootstrap, supporting both MySQL and SQLite databases.
-
Multi-Language Support:
- Turkish and English language options.
- Language selection on first launch and changeable via Settings.
- Preferences are saved automatically.
-
🔒 Data Security (Encryption):
- Sensitive data in Customer (ID, Phone, Address etc.) and Car (Chassis No, Motor No) records are encrypted using Fernet (AES) before saving to the database.
- Data is decrypted only when displayed in the application UI.
-
Multi-Database Support:
- Works with SQLite by default (no setup required).
- Can be switched to MySQL via configuration.
-
Comprehensive Management:
- Customer Management: Add, list, view details via double-click.
- Car Management: Add cars, list inventory, track availability.
- Rental Operations: Easy selection interfaces, fee calculation, start and end rentals.
-
Modern & Usable UI:
- Modern, clean, and responsive design using
ttkbootstrap. - Custom Theme: Color palette tailored for the car rental industry.
- Visual Feedback: Buttons glow and show detailed borders on hover.
- Quick Access: Left sidebar provides quick access to all modules and a dedicated Exit button.
- Modern, clean, and responsive design using
-
Install required libraries:
pip install -r requirements.txt
-
Run the application:
python main.py
Note: As this is a GUI application, running with Docker requires X11 forwarding (Xming, VcXsrv, etc.) on the host.
-
Build the Docker image:
docker build -t rent-a-car . -
Run the container:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix rent-a-car(Important Note for Windows Users): To see the GUI via Docker, an X Server (like VcXsrv) must be installed.
- When starting VcXsrv, check "Disable access control" in the "Extra settings" screen.
- If using
docker-compose.yml, simply run:docker compose up --build
- If you get an error (
couldn't connect to display), sure VcXsrv is allowed through the Windows Firewall.
- Python 3.12
- Tkinter & TTKBootstrap (GUI)
- SQLite / MySQL (Database)
- Cryptography (Encryption/Security)
- Docker (Containerization)
This project is licensed under the MIT License.
Python, Tkinter ve TTKBootstrap kullanılarak geliştirilmiş, MySQL ve SQLite veritabanı destekli, modern ve güvenli Araç Kiralama Otomasyonu projesi.
-
Çoklu Dil Desteği:
- Türkçe ve İngilizce dil seçenekleri.
- İlk açılışta dil seçimi ve sonradan Ayarlar menüsünden değiştirme imkanı.
- Değişiklikler otomatik olarak kaydedilir.
-
🔒 Veri Güvenliği (Şifreleme):
- Müşteri (TC, Telefon, Adres vb.) ve Araç (Şasi No, Motor No) bilgilerindeki hassas veriler veritabanına Fernet (AES) ile şifrelenerek kaydedilir.
- Veriler sadece uygulama arayüzünde şifresi çözülmüş olarak görüntülenir.
-
Çoklu Veritabanı Desteği:
- Varsayılan olarak kurulum gerektirmeyen SQLite ile çalışır.
- İstenirse
configüzerinden MySQL'e geçiş yapılabilir.
-
Kapsamlı Yönetim:
- Müşteri Yönetimi: Ekleme, listeleme, çift tıklayarak detay görüntüleme.
- Araç Yönetimi: Araç ekleme, listeleme, müsaitlik durumu takibi.
- Kiralama İşlemleri: Kolay seçim arayüzleri, ücret hesaplama, kiralama başlatma ve sonlandırma.
-
Modern Arayüz:
ttkbootstrapile modern, temiz ve duyarlı (responsive) tasarım.- Özelleştirilmiş renk teması.
-
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
-
Uygulamayı çalıştırın:
python main.py
Not: GUI uygulaması olduğu için Docker ile çalıştırırken X11 yönlendirmesi (Xming, VcXsrv vb.) gereklidir.
-
Docker imajını oluşturun:
docker build -t rent-a-car . -
Konteynerı çalıştırın:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix rent-a-cardocker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix rent-a-car(Windows Kullanıcıları İçin Önemli Not): Docker üzerinden arayüzü görebilmek için VcXsrv (veya benzeri bir X Server) kurulu olmalıdır.
- VcXsrv'ı başlatırken "Extra settings" ekranında "Disable access control" seçeneğini mutlaka işaretleyin.
docker-compose.ymlkullanıyorsanızdocker compose up --buildkomutu yeterlidir.- Hata alırsanız (
couldn't connect to display), Windows Güvenlik Duvarı'ndan VcXsrv'a izin verildiğinden emin olun.
A modern and secure Car Rental Automation project developed using Python, Tkinter, and TTKBootstrap, supporting both MySQL and SQLite databases.
-
Multi-Language Support:
- Turkish and English language options.
- Language selection on first launch and changeable via Settings.
- Preferences are saved automatically.
-
🔒 Data Security (Encryption):
- Sensitive data in Customer (ID, Phone, Address etc.) and Car (Chassis No, Motor No) records are encrypted using Fernet (AES) before saving to the database.
- Data is decrypted only when displayed in the application UI.
-
Multi-Database Support:
- Works with SQLite by default (no setup required).
- Can be switched to MySQL via configuration.
-
Comprehensive Management:
- Customer Management: Add, list, view details via double-click.
- Car Management: Add cars, list inventory, track availability.
- Rental Operations: Easy selection interfaces, fee calculation, start and end rentals.
-
Modern UI:
- Modern, clean, and responsive design using
ttkbootstrap. - Custom color theme.
- Modern, clean, and responsive design using
-
Install required libraries:
pip install -r requirements.txt
-
Run the application:
python main.py
Note: As this is a GUI application, running with Docker requires X11 forwarding (Xming, VcXsrv, etc.) on the host.
-
Build the Docker image:
docker build -t rent-a-car . -
Run the container:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix rent-a-car(Windows users may need additional X Server configuration.)
- Python 3.12
- Tkinter & TTKBootstrap (GUI)
- SQLite / MySQL (Database)
- Cryptography (Security)
This project is licensed under the MIT License.