header header

Appointment Scheduler Desktop Application

Overview
This desktop application allows users to view customer records and appointment schedules for each specific contact of a global consulting company. The company has offices in the United States, the United Kingdom, and Canada; therefore, the company has to have appropriate language settings in English and French for the French-Canadian speakers. When launching the application, a login form is shown in either English or French, depending on the user's language settings on their computer. The form also displays the user's general location and records the login activity in a text file of the username used, whether it failed or succeeded, and the time and date of attempt. If the attempt succeded, another notification will pop-up to display if there are any upcoming appointments within the 15 minutes of logging in.

From then, the user has the option to look at customer records or appointments. The records and appointments are pulled from a database in MySQL Workbench. For the customer records, users can add, update, or delete customer information. If a user tries to delete a customer that has an appointment associated with them, an error message will display stating that the user must delete the appointment before deleting the customer.

For the appointment portion, users can add, update, or delete appointment information and they can also filter through the list by current month, current week, and by contact. The appointment form also provides a total number of appointments based on type and month that the user selects and the total of the customer appointments by a selected contact name.

When deleting an appointment or customer, a new screen pops up displaying the selected appointment/customer to be deleted and asks the user for confirmation. If any fields are left empty in the add or update forms or the user enters a non-existing customer ID or user ID, an error message will display. When the user edits the customer or appointment, the records are also updated in MySQL Workbench. The time and date of the appointments on MySQL Workbench are in the UTC time zone for all users regardless of their time zone.

Takeaway
This is my first big project that involved using a SQL database, so it was a good learning experience for me to understand how to incorporate it with my current knowledge in Java. With this project, I learned how to use code that would correlate with the current desktop settings such as timezones and languages. I had a bit of a struggle when it came to filtering comboboxes, but learning about the uses of lambdas is what helped me get over that curve. Overall, the project further extended my knowledge with Java and SQL.

Tools
● Intellij IDEA Community Edition 2021.1.3x64
● JDK - Java SE 11.0,15.1
● JavaFX - JavaFX-SDK-17.0.1
● SceneBuilder
● MySQL Workbench 8.0 CE

Language(s)
● Java
● SQL

GitHub Repo

Project Output



French Login Screen and Error Message Output



◁ My Website Bike Inventory Management System ▷