Appointment Scheduler & Manager

Link to repository

WGU Software II Project

This Java desktop application enables users to manage appointments with a full-featured scheduling interface. Built using JavaFX and backed by a MySQL database via JDBC, the app is based on an ERD that defines relationships between users, appointments, contacts, and customers.

Users log in securely and are presented with an intuitive UI that supports both weekly and monthly views of scheduled appointments. The app automatically detects the user's system locale and adjusts the UI language accordingly—supporting English and French. It also accounts for regional time zones, including the US, UK, and Canada.

Built with IntelliJ IDEA Ultimate, the app provides appointment alerts on login, prevents scheduling outside of business hours, and validates time and date inputs for clean data entry. This project demonstrates multi-regional support, relational data handling, and a responsive UI experience in a desktop environment.


Key Features

  • 🔐 User authentication
  • Secure login system to access appointment data.
  • 📅 Appointment management
  • Create, edit, and delete appointments linked to specific customers and contacts.
  • 🗓️ Weekly & monthly calendar views
  • Flexible scheduling interface with toggle options.
  • 🌍 Time zone and language localization
  • Automatically adjusts time zone (US, UK, Canada) and UI language (English or French) based on user region.
  • ⏰ Upcoming appointment alerts
  • Notifies users at login if they have an appointment within the next 30 minutes.
  • 🕒 Business hours validation
  • Prevents scheduling outside company business hours with real-time user feedback.

Tech Stack

Language

  • Java

UI Framework

  • JavaFX

Database

  • MySQL

Database Access

  • Java Database Connectivity (JDBC)

IDE

  • IntelliJ IDEA Ultimate

Architecture

  • ERD-driven relational model

Localization

  • System-based language and time zone detection (English + French)

Figures

Fig. 1 - Login screen with upcoming appointments message.
Fig. 2 - Home screen.
Fig. 3 - Customers table.
Fig. 4 - All appointments table.
Fig. 5 - Add & modify customers form.
Fig. 6 - Add & modify appointments form.
Fig. 7 - Example of a confirmation message for a deleted appointment.
Fig. 8 - See all appointments for a given month and year.
Fig. 9 - Entity-Relationship Diagram (ERD)