
Simple Device Repair Manager
This is a simple desktop application that assists in Desktop/Laptop/Phone repair/refurbish process. This application helps streamline the repair process by keeping track of device repair status and parts, which can be especially helpful when working in a team setting. A comprehensive list of features is available on GitHub. All devices are indexed with a unique numeric ID, and has search features that can search your device inventory and returns ID's of devices with desired attributes. A full list of features is available on the GitHub ReadMe
Page Navigation
Development + Implementation
The simple device repair manager project demonstrates my understanding of object-oriented design, particularly regarding polymorphism and inheritance.
The program's core functionality revolves around the three devices, desktops, laptops, and phones. All three inherit from an abstract 'device' class, which encapsulates core functionality that all three instruments share, such as: powering, storage size, operating system, etc. An interface was created to represent mobile devices, also having a battery and screen. Similar abstractions were created with the Java Swing GUI to manage inputs to the device data fields. A full UML of the project can be seen here:

Data persistence was implemented by parsing the objects and storing them in a single JSON. Upon entry into the program, users choose to load an existing JSON file or create a new one.
Simple device repair manager was created using a test-driven development process done using JUnit. The backend code boasts a 100% code coverage score; however, unit tests were not made for the frontend code due to complexity and time constraints.