This application design makes use of classic OOP principles such as inheritance, encapsulation, abstraction and polymorphism. It is designed with a focus on extensibility and ease of maintenance.
To run the application please follow this exact process:
1) Traverse to the directory where the project is located and open your command prompt.2) Type in the prompt, "gradlew run" (windows) or "./gradlew run" (macOS and Linux) to compile, package and run both the unit tests and the application.
3) Type in the prompt, "gradlew clean" or "./gradlew clean" (macOS and Linux) to remove any created artifacts for repitition purposes.
It is highly advised to read the documentation as it explains every major design desicion implemented.
Ronin Brookes - Final-Year Computer Science Student.