scheduling-app is an appointment scheduling program built using JavaFX that manages appointments, customers, and generates reports. It uses the Java Database Connectivity API to connect to a MySQL database where customer and appointment data is stored.
- Accepts a username and password and provides an appropriate error message
- Determines the user’s location and displays it on the form
- Displays the form in English or French based on the user’s computer language setting
- Translates error messages into English or French based on the user’s computer language setting
- Records all user logins and login attempts with timestamps in
login_activity.txt
- Provides an alert with the appointment ID, date, and time if there is an appointment within 15 minutes of the local time of the user’s login
- Presents navigation to the Appointments, Customers, and Reports windows
- Allows the user to log out
- Displays all appointments in a table in the current time zone
- Allows adding, updating, and deleting appointments
- Enables the user to filter appointments by month or week
- Performs input validation and blank field checks and displays an error message accordingly
- Prevents scheduling an appointment outside of business hours (currently defined as 8:00 a.m. to 10:00 p.m. ET including weekends)
- Prevents scheduling an overlapping appointment for customers
- Auto-populates the form when modifying an appointment
- Displays all customer data in a table
- Allows adding, updating, and deleting customers
- Respects foreign key constraints by prompting the user to remove all the customer’s associated appointments first
- Performs input validation and blank field checks and displays an error message accordingly
- Auto-populates the form when modifying a customer
- Displays the appointment schedule of each contact, customer, or user in a table
- Displays the number of customer appointments by type and month