- Port Management: Add, view, and delete ports, each with specific attributes like port code, country, type, and communications information.
 - Ship Management: Manage ships within each port, including details such as IMO number, registration, capacity, and status.
 - Container Management: Manage containers within ships, including their cubic capacity, status, and associated pallets.
 - Pallet Management: Manage pallets within containers, including details like company, type of goods, weight, and size.
 - Good Management: Manage goods within pallets, with attributes like name, price, and weight.
 - Search and Filtering: Search and filter through various entities within the system.
 - Persistence: Save and load data from files to maintain the state of the system.
 
- Java 8 or higher
 - JavaFX (if not bundled with your JDK)
 - Maven/Gradle (optional, for managing dependencies)
 
- 
Clone the repository:
git clone https://github.com/yourusername/shipping-management-system.git cd shipping-management-system - 
Import the project into your IDE:
- For IntelliJ IDEA or Eclipse, import the project as a Maven/Gradle project if you are using it.
 - Ensure that JavaFX is properly configured in your IDE.
 
 - 
Build the project:
- 
If using Maven:
mvn clean install
 - 
If using Gradle:
gradle build
 
 - 
 - 
Run the application:
- You can run the application directly from your IDE by executing the 
Launcher.javaclass. 
 - You can run the application directly from your IDE by executing the 
 
- Run the 
Launcherclass, which will initialize the system and display the main GUI. 
- Use the "Add Port" button to create new ports.
 - View and delete existing ports from the ports table.
 
- Within a selected port, use the "Add Ship" button to add ships.
 - View, update, and delete ships within the port.
 
- Within a selected ship, use the "Add Container" button to add containers.
 - Manage the containers' status and associated pallets.
 
- Within a selected container, use the "Add Pallet" button to add pallets.
 - Manage the pallets' goods and other attributes.
 
- Within a selected pallet, use the "Add Good" button to add goods.
 - View and delete goods associated with pallets.
 
This project is licensed under the MIT License - see the LICENSE file for details.
If you would like to contribute to this project, please fork the repository and submit a pull request. Contributions, issues, and feature requests are welcome.
For any inquiries or questions, feel free to reach out:
- Email: 20102440@mail.wit.ie
 - LinkedIn: Jacob Dickson
 
