pramodjangid / UrbanDrive-Wheels

The UrbanDrive Wheels Car Rental Backend System project is built using Java to provide users in the car rental industry with a streamlined solution for data management and processing.
https://drive.google.com/file/d/1_JTPq9g1r27Pcp7Nv4lHlAXi1xnLPGyr/view?usp=sharing
1 stars 0 forks source link
hibernate java jpa sql

UrbanDrive Wheels

UrbanDrive Wheels Car Rental Backend System

Overview

Welcome to the UrbanDrive Wheels Car Rental Backend System project documentation! This project offers a comprehensive console-based backend system for managing car rentals. Developed by Pramod Kumar Jangid during the Construct Week at Masai School, this project provides efficient tools for administrators, and customers to handle various car rental tasks.

Author

Pramod Kumar Jangid

Introduction

The UrbanDrive Wheels Car Rental Backend System project is built using Java to provide users in the car rental industry with a streamlined solution for data management and processing. This documentation will guide you through the features, functionalities, and usage of the system.

Getting Started

The UrbanDrive Wheels Car Rental Backend System is designed to cater to two primary roles:

  1. Administrator
  2. Customer

Roles and Functionalities

Admin Role

Customer Role

Entity-Relationship (ER) Diagram for Car Rental Backend System

Entities:

  1. Customer
  2. Vehicle
  3. Reservation
  4. Transaction

Relationships:

  1. Customer - Vehicle (One-to-Many):

    • A customer can have multiple reservations (one-to-many).
    • Each reservation is associated with a vehicle.
  2. Customer - Reservation (One-to-Many):

    • A customer can make multiple reservations (one-to-many).
    • Each reservation belongs to a customer.
  3. Reservation - Vehicle (Many-to-One):

    • Multiple reservations can be made for vehicles (many-to-one).
    • Each reservation is associated with a vehicle.
  4. Reservation - Transaction (One-to-One):

    • Each reservation can have one transaction (one-to-one).
    • Each transaction is associated with a reservation.
  5. Customer - Transaction (One-to-Many):

    • A customer can have multiple transactions (one-to-many).
    • Each transaction is associated with a customer.

ER Diagram Visual Representation

Entities Attributes:

  1. Customer:

    • customerId (Primary Key)
    • firstName
    • lastName
    • email
    • username
    • password
    • phoneNumber
    • address
    • isDeleted
  2. Vehicle:

    • vehicleId (Primary Key)
    • brand
    • model
    • year
    • mileage
    • availability
    • seatingCapacity
    • rentalRate
  3. Reservation:

    • reservationId (Primary Key)
    • customer (Foreign Key: customerId)
    • vehicle (Foreign Key: vehicleId)
    • startDate
    • endDate
    • isDeleted
  4. Transaction:

    • transactionId (Primary Key)
    • customer (Foreign Key: customerId)
    • reservation (Foreign Key: reservationId)
    • transactionDate
    • amount
    • isDeleted

Tech Stack

The UrabanDrive Wheels Car Rental Backend System is developed using Java, a versatile programming language known for its performance and flexibility.

Java Logo

Tools

Various tools and technologies were employed during the development of the Car Rental System.

Tools

Learnings

Throughout this project, I encountered challenges that led to valuable learnings:

Source Code

The source code for the Car Rental System project is available on GitHub. You can explore the code, contribute to its development, and use it as a foundation for similar projects.

GitHub Repository

Thank you for your interest in the UrabanDrive Wheels Car Rental Backend System!