Assignment01 - Building Desktop Application Using JavaFX and Hibernate
Assignment01 - Building Desktop Application Using JavaFX and Hibernate
- Online Booking and Reservation: The system allows customers to make bookings and
reservations online through a user-friendly interface. It provides real-time availability of
vehicles, rental rates, and booking confirmations.
- Vehicle/Car Management: The system keeps track of the available fleet of vehicles,
including their models, make, year, mileage, and condition. It helps manage vehicle
allocation, availability, and scheduling.
- Customer Management: The system maintains a database of customer information,
including contact details, identification documents, and rental history. It enables easy
retrieval of customer records, communication, and personalized service.
The application has to support adding, viewing, modifying, and removing students—a
standardized usage action verbs better known as Create, Read, Update, Delete (CRUD).
1|Page
This assignment is required to create a desktop application using JavaFX and Hibernate. An
SQL Server Database will be created to persist the product data that will be used for reading
and managing product data by Hibernate or JPA.
2. Database Design
A part of Car Renting Management System database is described as the bellow
CarProducer(ProducerID, ProcuderName, Address, Country)
All fields are required
Car(CarID, CarName, CarModelYear, Color, Capacity, Description, ImportDate, ProducerID,
RentPrice, Status)
All fields are required
Customer (CustomerID, CustomerName, Mobile, Birthday, IdentityCard, LicenceNumber,
LicenceDate, Email, Password, AccountID)
All fields are required
CarRental (CustomerID, CarID, PickupDate, ReturnDate, RentPrice, Status)
All fields are required
PickupDate< ReturnDate
Review (CustomerID, CarID, ReviewStar, Comment)
All fields are required
Account (AccountID, AccountName, Role)
All fields are required
2|Page
3. Assignment Objectives
In this assignment, you will:
Develop application using JavaFX, Hibernate
Use JPA to Create a SQL Server database named FUCarRentingSystemDB that has
these tables: CarProducer, Car, Customer, CarRental, Review
Develop 3-Layer with Repository Architecture to perform CRUD actions using Hibernate
and JavaFX.
Run the project and test the application actions.
4. Main Functions
If the user is an “Admin” then his/her is allowed to
o Manage customer information.
o Manage car information. (The delete action will delete car information in the case
this information is not belong to any renting transaction. If the car information is
already stored in a renting transaction, just change the status.)
o Manage rental management.
o Create a renting transaction report statistic by the period from StartDate to
EndDate, and sort data in descending order.
If user is a “Customer”, this customer role is allowed to:
o Manage his/her the profile
o View transaction history.
3|Page