Skip to content

This application allows users to create, view, maintain, and delete customer appointments.

Notifications You must be signed in to change notification settings

ike5/SchedulingApplication

Repository files navigation

Scheduling Application


Purpose

This application allows users to create, view, maintain, and delete customer appointments. Additionally, users can generate reports on the data.


Login

  • Contains validation and searches database for that user and password combination login

Login validation

  • Validates username
  • Validats password
  • Displays upcoming appointments if any once logged in

login_validation

Logout

  • Confirmation popup logout

Creating a Customer

  • Dropdowns for US states and Provinces change automatically.
  • Renders quickly after updating the MySQL database.

customer

Deleting a Customer

  • Prompts a warning
  • Rerenders the table after updating the database.

delete_customer

Updating a Customer

update

Clearing Form

clear_form

Scroll through Form

  • Customer data populates from table to form automatically

scroll_through_form

Go to Appointments View

  • Selectable rows appt

Create a New Appointment

new_appt

Delete an Appointment

  • Confirmation popup
  • Returns appointment info deleted
  • Data cascades

delete_appt

Update an Appointment

  • Confirmation popup update_apt

Filter Appointments by Month, Week, and All

filter

View Reports

  • Customer appointment tab allows search combination of month by dropdowns
  • Contact schedule tab displays appointments by contact
  • Additional report displays data such as number of appointments, customers, contacts, and number of times logged in. reports

Personal Info

  • Author: Ike Maldonado
  • Contact info:
    • email:
  • Application Version: 1.1
  • Date: 12/08/2021

System info

  • IDE: IntelliJ IDEA 2021.2.2 (Ultimate Edition)
  • JDK: openjdk version "11.0.12" 2021-07-20 LTS
  • JavaFX: javafx.runtime.version: 11.0.2+1

Getting started

  1. Set machine timezone in order for LocalTime ComboBoxes to populate correctly.
  2. Run main() method in Main class.
  3. Enter username: test, and password test, then hit enter or click Login.
    • This will create and append to login_activity.txt. This file will be created if not already present.

Additional Report Description

  • The additional report counts the total number of Appointments, Customers, Contacts, and logins (successful and unsuccessful).
    • Location: Reports Button > Additional Report Tab

MySQL info

MySQL version: 8.0.25
Driver: mysql-connector-java-8.0.25

Additional info

  • Location of lambda expressions
    • LoginController > changeScreen()
    • LoginController > changeScreen()
    • CustomersController > viewAppointmentsButtonOnAction()
    • CustomersController > reportsButtonOnAction()
    • AppointmentsController > newAppointmentButtonOnAction()
    • AppointemntsController > updateAppointmentButtonOnAction()

About

This application allows users to create, view, maintain, and delete customer appointments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages