Git Product home page Git Product logo

rent-a-car-oop's Introduction

Araç Kiralama Uygulaması (Rent Car OOP GUI)

Araba kiralama uygulaması, Python programlama dili kullanılarak geliştirilen ve grafik kullanıcı arayüzü (GUI) tasarımını bir araya getirerek, araç kiralama süreçlerini yönetebilen bir yazılımın nasıl oluşturulacağını gösterir. Kodun temelinde, nesne tabanlı programlama (OOP) prensipleri ve SQLite veritabanı kullanımı bulunmaktadır.

image

Kullanılan Sınıflar ve OOP Prensipleri

Araba Sınıfı:

Encapsulation (Kapsülleme):

Araba sınıfı, özelliklerini (marka, model, yıl, kilometre) ve bu özelliklere erişim yöntemlerini içerir. Bu sayede, sınıfın iç yapısını gizleyerek dış dünyadan gelebilecek olası değişikliklere karşı koruma sağlanır.

image

Inheritance (Kalıtım):

Elektrikli Araba ve Benzinli Araba sınıfları, Araba sınıfından türetilmiştir. Bu sayede, temel özellikleri Araba sınıfından miras alarak, kod tekrarı önlenir ve kodun genişletilebilirliği artar.

Abstraction (Soyutlama):

Araba sınıfı, soyut bir sınıftır. İçerisinde soyut bir metot olan "bakim" metodu bulunur. Araç tipine özel bakım sürecini soyut olarak tanımlayarak yöntemin alt sınıflara göre uygulanması gerektiğini belirtir.

image

Elektrikli Araba ve Benzinli Araba Sınıfları:

Inheritance (Kalıtım):

Her iki sınıf da Araba sınıfından türetilmiştir. Bu sayede, her iki sınıf da Araba sınıfının özelliklerini ve metotlarını kullanabilir.

Polymorphism (Çok Biçimlilik):

Her iki alt sınıf, Araba sınıfının soyut metodu olan "bakim"ı kendi ihtiyaçlarına göre uygular. Aynı isimli metodun farklı davranışlar sergilemesine olanak tanır.

Kiralama Sınıfı

Kiralama sınıfı, bir kiralama işlemini temsil eder. Bu sınıf, kiralama işleminde kullanılan özellikleri ve bu işlemin ücretlendirilmesini içerir.

Araç Kiralama Uygulaması Sınıfı

Bu sınıf, uygulamanın ana penceresini yönetir. Müşteri girişi, veritabanı bağlantısı, ana pencerenin oluşturulması ve araç listesinin gösterilmesi gibi temel işlevselliği içerir.

Özellikler

  • Müşteri Girişi: Kullanıcıların adlarını girerek sisteme giriş yapmalarını sağlar.
  • Araç Listesi: Kullanıcıların kiralayabileceği arabaların listesini görüntüler.
  • Araç Kiralama: Müşterilerin seçtikleri araçları belirli bir süre için kiralayabilmelerini sağlar.
  • Veritabanı Entegrasyonu: SQLite veritabanı üzerinde müşteri, araç ve kiralama bilgilerini saklar.
  • Tablo Dışa Aktarma: Veritabanındaki bilgileri CSV formatında dışa aktarma (export) imkanı sunar.

GUI Ekran Görüntüleri

Ana Sayfa Ana Sayfa Ana Sayfa

Veritabanı Yapısı

Proje, SQLite veritabanı kullanır ve aşağıdaki tabloları içerir:

  • musteri: Müşteri bilgilerini saklar.
  • arabalar: Araç bilgilerini saklar.
  • kiralama: Kiralama işlemlerine ait detayları saklar.

Veritabanı Ekran Görüntüleri

Müşteri Tablosu Arabalar Tablosu Kiralama Tablosu

Katkıda Bulun

Projeye star vermek için aşağıdaki adımları takip edebilirsiniz:

  1. Projenin GitHub sayfasına gidin.
  2. Sayfanın sağ üst köşesinde bulunan "Star" düğmesine tıklayın.
  3. Eğer oturum açmadıysanız, GitHub hesabınızla oturum açmanız istenecektir. Oturum açın veya yeni bir GitHub hesabı oluşturun.
  4. "Star" düğmesine tekrar tıklayarak projeye star verebilirsiniz.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.