This is a Java-based GUI program using JavaFX and MVC principles to access an appointment management SQL database.
Allows for adding, modifying, and deleting appointments and customers. Also provides reporting tools for appointments by Contact, Type, Month, and Date. Has data validation and error-checking capabilities.
IDE: IntelliJ IDEA 2023.1.2 (Community Edition)
JDK: Java SE 17.0.7
JavaFX: JavaFX-SDK-17.0.1
MySQL Connector Driver: mysql-connector-java-8.0.26
Instruction: Run the MainApp.java file to being the application. From there you will be prompted with a login page. The default login is username "test", and password "test".
The Login Page provides username and password login functionality, Language preference (English or French), and local Timezone indication. Language preference will change the page content to match while keeping the same functionality. The login page also provides error messages if invalid login information, or no login information is entered. User Login data is stored in the MySQL Database and requires a Query through the Java Connector to access.
Upon initial loading, the appointments page will provide an information window letting the user know if any appointments are upcoming. Afterward, this page provides the ability to see all appointment information and then choose between Appointment Menu options (Add, Modify, Delete), Report Menu Options (By Contact, By Type, By Month, By Day), View Menu Options (All, Weekly, Monthly, Customers) or to Logout and return to the login page. The delete options will remove the selected appointment from the SQL database.
The add and modify appointment pages allow users to alter SQL appointment records through the GUI. These pages provide data validation and error checking before making SQL record changes. The interface will verify appointments are not overlapping, are within business hours, date values are actually dates, and numerical values are actually numbers. These ideas are very similar to the Customer add and modify pages as well.
These pages filter the appointments by Contact, Type, Month, or Day.
This page provides the ability to see all appointment information and then choose between Customer Menu options (Add, Modify, Delete)