Java Demo Project is stand alone, self explanatory desktop application. It consist of several functionally separate sub-projects, including Project Scheduler, 2D video game, Threads presentation and more. All deployed within one consistent user interface, designed especially to present extensive sample of my programming skills. App guides user through each module with comprehensive descriptions, explaining the use and implemented concepts.
Application gives good idea of my base skills and familiarity of crucial java programming concepts in compact way.
To launch the Demo project go to src/main/java/com/start and run Main class.
Application has been developed with Eclipse Java EE IDE Oxygen v. 4.7, uses Java 8, JavaFX, including FXML, CSS, Controllers classes. For the most part it has been developed based on Model View Controller architectural pattern. From a MVC perspective, the FXML file describes user interface is the view. Dedicated Java class is declared as the controller for the view. The model consists of controller classes, user interface and code, that handles the application background logic and connects to the view through the controller.
Moreover some of the technologies and concepts used are:
-
Java 8
-
Eclipse Java EE IDE Oxygen v. 4.7
-
JavaFX, including FXML, CSS
-
Java Composition and Encapsulation concepts
-
Design Patterns: Factory, Observer, Strategy
-
HashMap, TreeMap, Comparator, ObjectOutputStream, Object Serialization
-
FileReader, FileWriter, BufferedReader, BufferedWriter, Catching IOExceptions
-
SQL, Oracle Express 11g, driver library ojdbc6.jar, JTables, Swing, swing.JTextField, swing.table.DefaultTableModel
-
Collections, including Observable list, LinkedList, ArrayList, objects Inheritance, java.time library, Comparable Interface implementation, Comparator, sorting
-
Threads. using Java Concurrency, implementation of 'Runnable' interface, inheritance of 'Task' observable class
-
JFrame, libraries: java.awt.Graphics2D, awt.Polygon, util.concurren, including concurrent.ScheduledThreadPoolExecutor.
More details on the technologies and concept used are available within the application itself in form of explanatory information displayed on user interface screens (appropriate modules of user interface).