Skip to content
/ dbGUI Public

Project for C195, Software II: Advanced Java Concepts

Notifications You must be signed in to change notification settings

shalofty/dbGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dbGUI

Project for C195, Software II: Advanced Java Concepts

Schedulizer

This project represents a comprehensive performance evaluation for the advanced Java concepts course, C195 Software II, at WGU. It showcases a robust Java application that empowers users to efficiently manage customer appointments and information within a database.

Stephan Haloftis

JDK: 11.0.10 JRE: 11.0.10 JavaFX: 11.0.2 mysql-connector-java-8.0.23.jar

This project was created using IntelliJ IDEA 2020.3.3 (Ultimate Edition) and SceneBuilder 11.0.2.

The project boasts several key features, including a view of appointments, the ability to create, edit, and delete customers, and a new user feature on the login screen. The latter was implemented as a result of the author's independent exploration of the project's requirements and functionality.

The model package contains essential classes such as Appointments, Contacts, Country, Customers, Division, and Users, each of which contains general setters and getters, as well as class constructors.

The dataAccess package was established next and features a SQL query library known as QueryChronicles, which contains all SQL queries used throughout the project, along with other database methods. The author tackled the project through trial and error, leading to a consolidation of redundant code.

The exceptions package features the GateKeeper and Siren classes. The Siren class, an alert library, was created to provide a clean and concise method of handling alerts. T he GateKeeper class handles input validation through the use of boolean binding, monitoring all GUI inputs to ensure only valid data is submitted. I was going to include Regex validation, but I decided to keep it simple. There seems to be a lot of debate about how well Regex works with address validation. I only used it for names and phone numbers.

The merlin package houses the HotTubTimeMachine class, which handles all time manipulation within the project. The numericNexus package contains the NumberGenie class, which generates random IDs through looping methods. Finally, the theAgency package features the AgentFord class, which manages monitoring activities, user logs, and exception logs.

My I decided to create a visual aid for the additional report of my choice. The report displays the number of customers per month, for the entire year.

There are also lambda expressions littered throughout the project, which I used to practice my functional programming skills. There are much, MUCH more than two. I found them very useful for many aspects of the project.

About

Project for C195, Software II: Advanced Java Concepts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages