JAVA FX fixes

Job ID: 34051563

Budget: $1,500 – $3,000 USD

Looking for a programmer well versed in JAVA FX to fix and update some existing code. The code was written in Netbeans and also uses SceneBuilder. This work needs to be completed this week.
These are the items that need to be done. The SceneBuilder FXML already exists as does the Database. Much of the coding is there as well just needs to be corrected.

PART I. Functionality Needed: Customer records can be added, updated, and deleted.

Adding a New Customer - Fixes

First-level division (i.e., states, provinces) is collected using a combo box.

Country is collected using a combo box.

Country and first-level division data is pre-populated in separate combo boxes or lists in the user interface for the user to choose. The first-level list should be filtered by the user’s selection of a country (e.g., when choosing U.S., filter so it only shows states).

Customer data is displayed using a TableView, including first-level division data. A list of all the customers and their information may be viewed in a TableView

Deleting an Existing Customer - Fixes

When deleting a customer record, all of the customer’s appointments must be deleted first, due to foreign key constraints.


PART II. Functionality Needed: Appointment scheduling functionalities to the GUI-based application by doing the following:





B. The user needs to be able to view appointment schedules by month and week using a TableView and allows the user to choose between these two options using tabs or radio buttons for filtering appointments.

C. The user needs to be able to adjust appointment times. While the appointment times should be stored in Coordinated Universal Time (UTC), they should be automatically and consistently updated according to the local time zone set on the user’s computer wherever appointments are displayed in the application.



Note: There are up to three time zones in effect. Coordinated Universal Time (UTC) is used for storing the time in the database, the user’s local time is used for display purposes, and Eastern Standard Time (EST) is used for the company’s office hours. Local time will be checked against EST business hours before they are stored in the database as UTC.



D. Write code to implement input validation and logical error checks to prevent each of the following changes when adding or updating information; display a custom message specific for each error check in the user interface:

scheduling an appointment outside of business hours defined as 8:00 a.m. to 10:00 p.m. EST, including weekends

scheduling overlapping appointments for customers





E. Provide an alert when there is an appointment within 15 minutes of the user’s log-in.

A custom message should be displayed in the user interface and include the appointment ID, date, and time.

If the user does not have any appointments within 15 minutes of logging in, display a custom message in the user interface indicating there are no upcoming appointments.

When testing your application outside of business hours, your alerts should be robust enough to trigger an appointment within 15 minutes of the local time set on the user’s computer, which may or may not be EST.

F. Generate accurate information in each of the following reports and will also display the reports in the user interface: Note: You do not need to save and print the reports to a file just display in tableview for report 1 & 2, report 3 display in graph

(file FXML/Reports.fxml, Controllers/ReportsController.java, Model/AppointmentReport.java, CustomerReport.java)

Report 1 - the total number of customer appointments by type and month

Report 2 - a schedule for each contact in your organization that includes appointment ID, title, type and description, start date and time, end date and time, and customer ID

Report 3 - Customers by location (Divisions) displayed in graph