This is a Java Swing desktop application designed to manage inventory, user accounts, and sales transactions for a retail store. It features role-based access control and uses a modern look-and-feel library for its UI.
The application follows a modular structure, separating the UI from the core logic.
app/): Contains all the Swing forms (.java and .form files), including main frames like Login.java, CheckoutPanel.java, and InventoryManagement.java, as well as various dialogs for adding/editing data.libs/core/): Contains the business logic and data management classes.Accounts.java & Inventory.java: Manage collections of User and Product objects, respectively.AppStateManager.java: A utility class that handles the loading and saving of the application’s state (inventory, accounts, cart) by reading/writing serialized objects to .dat files.Cart.java, Product.java, User.java: Model classes representing the main entities of the system.libs/errors/): Defines custom exception classes like InvalidUserPassword and OverdrawError for robust error handling..dat files using Java Object Serialization, ensuring data is retained between application runs.