A Java-based desktop application designed to manage the production, tracking, and inventory of a whiskey distillery. This system provides a complete overview of the distillation process, from raw distillates to the final bottled whiskey.
- Distillate Management: Track different types of distillates, malt types, and origins.
- Cask & Warehouse Control: Manage physical locations (Warehouses/Lager), track casks (Fad), and monitor wood origins (TræOprindelse).
- Production Tracking: - Register fillings (Påfyldning) into casks.
- Track transfers and mixing between casks (Omhældning).
- Manage the final bottling process (Tapning) to create the finished Whisky.
- Statistics & Overviews: View warehouse statistics and current stock levels.
- Graphical User Interface: Easy-to-use GUI built with Java, featuring dedicated views for Products, Distillates, Casks, and Statistics.
The project follows a standard Model-View-Controller (MVC) architecture:
src/app/models/: Contains the core business logic and entities (Destillat, Fad, Lager, Tapning, Whisky, etc.).src/app/controller/: Handles the logic connecting the data models with the user interface.src/gui/: Contains the graphical user interface components, panes, and the main application launcher (App.java).src/storage/: Manages data storage and initialization.Test/: Contains JUnit tests for models and controllers to ensure system reliability.
- Java Development Kit (JDK) 8 or higher.
- An IDE such as IntelliJ IDEA, Eclipse, or VS Code.
- Clone or download the repository to your local machine.
- Open the project folder (
SallWhiskey) in your preferred IDE. - Ensure the
srcfolder is marked as the Sources Root. - Locate the main application class at
src/gui/App.java. - Run
App.main()to start the graphical user interface.
The application includes a suite of unit tests. To run the tests, navigate to the Test directory or use your IDE's built-in test runner to execute the test classes (e.g., FadTest, LagerTest, ControllerTest).