Giter VIP home page Giter VIP logo

op_vehicle_rental's Introduction

VEHICLE RENTAL PROJECT (with object-oriented programming)

It is a project which includes there are car and bicycle rental options, also stock and price information is shown. In this project, we can rent a bicycle or car, depending on the stock status, on a daily or hourly fixed price. We can apply discounts on certain vehicles. We can provide feedback according to stock status.

About Implementation

I created the rent.py file. After importing the datetime library for timeseries, I created our parent class (VehicleRent), child classes (CarRent, BikeRent)-inheriance- and Customer class.

VehicleRent includes initializer, diplayStock, rentHourly, rentDaily and returnVehicle methods.

Initializer contains self and stock, displayStock self, rentDailiy and rentHourly self and n, returnVehicle self,request and brand input parameters.

The "n" value in rentDailiy and rentHourly indicates how many vehicles are wanted to be rented.

The request in returnVehicle is a variable that expresses when we rent the vehicles, how long we rent and how many vehicles we rent. Brand refers to whether it is a car or a bicycle.

The child class CarRent has the global discount_rate variable. In this way, we can calculate a 15% discount. I have not applied such a discount on bike rental (BikeRent child class). With super().__init__(stock) we can directly use the properties of our parent class.

Customer class includes init, requestVehicle, returnVehicle. init methods has brand,rentalBasis and rentalTime attributes as 0. According to the request from the user, these values will be used in the invoice calculation.

As the last step, with the returnVehicle method in the Customer, we reset these values for the invoice when a vehicle returns from rent.

As the second file, we create our main.py file. As the name suggests, this is our main file where we will interact with the user. For example, I set the CarRent, BikeRent and Customer classes, which we imported from the rent file, as our bike stock to 100 and our car stock to 10.

I set main_menu to True so that it is available for continuous use both in the header and in the interface.

I adjusted the main menu and submenus according to the choices to be made. These parts are clearly visible in the code. So I will explain directly on the user manual.

User guide

From the main menu we can press the letter "A" for the bike menu or "B" for the car menu. Or we can exit directly with "Q".

        ***** Vehicle Rental Shop *****
        A. Bike Menu
        B. Car Menu
        Q. Exit

For example, we chose the bike by pressing "A" and this menu will appear.

        ***** BIKE MENU *****
        1. Display available Bikes
        2. Request a bike on hourly basis $ 5
        3. Request a bike on daily basis $ 84
        4. Return a bike
        5. Main Menu
        6. Exit

By pressing "1" from the menu here, we can instantly view the current number of vehicles in stock and return bike menu.

Enter choice: 1 100 vehicle available to rent Thank you for using the vehicle rental shop

        ***** BIKE MENU *****
        1. Display available Bikes
        2. Request a bike on hourly basis $ 5
        3. Request a bike on daily basis $ 84
        4. Return a bike
        5. Main Menu
        6. Exit

By pressing "2" for daily rent, we can go to the stage asking how many bikes we want to rent and enter the amount we want and complete the rental stage. After doing this, if we send a request to the stock, we can naturally view the deducted version of the amount we rented from the stock. Then return main menu.

        Enter choice: 2
        How many bikes would you like to rent? 45
        Rented a 45 vehicle for hourly at 19 hours
        -----------------------
        Thank you for using the vehicle rental shop

                    ***** Vehicle Rental Shop *****
                    A. Bike Menu
                    B. Car Menu
                    Q. Exit
        Enter choice: 

When we want to return bike we can follow same steps for entering bike menu. After that we can return rented bike by pressing "4". At this stage, informational texts about our invoice for how long we have rented are displayed.

Enter choice: 4 You have extra %20 discount Thank you for returning your bike Price : $ 6.9 Thank you for using the vehicle rental shop

As seen in the menu, we can return to the main menu by pressing "5" or exit the entire program by pressing "6".

The same steps apply to the car menu.

Also, when a value other than the desired values is entered in these menus, it gives a warning and informs and returns to the main menu.

op_vehicle_rental's People

Contributors

erenonal avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

tabishkhan96

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.