The application will allow the user to add payload (inventory) onto a rocket. The user can:
- create many rockets, each with a unique payload.
- Add any items to the payload, view the payload, and remove the payload.
- Find the total weight of the rocket, and potentially determine whether the rocket would launch successfully.
This application will be used by people who need an overview or summary of everything they are bringing onto the rocket, along with its weight and size.
Lately I've been interested in rockets and what it takes to launch them, and I want to learn more. By making my Java project about rockets, I'll be able to get a closer idea of what it takes to launch a rocket and what to look out for to make sure a launch is successful.
- As a user, I want to be able to create a rocket, and add an item to a rocket payload.
- As a user, I want to be able to view the list of rockets, along with the list of items in each rocket payload.
- As a user, I want to select a rocket payload, and find the number of items in the payload.
- As a user, I want to be able to calculate the total mass of all items in a payload.
- As a user, I want to have the option to save the entire state of my rocket fleet.
- As a user, I want to have the option to load the prior saved state of my rocket fleet.
- You can view the panel that displays the Payload that have already been added to the Rockets by opening the app! The window shows up on the right.
- The fundamental action of "adding multiple Rockets to a Fleet" can be done by clicking the leftmost icon. It shows a dialogue where you can input a name and the app creates a Rocket in the fleet with that name.
- You can generate the first required action related to the user story "adding multiple Rockets to a Fleet" by clicking the middle icon. It opens a window where you can select a rocket, and add any amount of items to any rocket the user has already added.
- You can generate the second required action related to the user story "adding multiple Rockets to a Fleet" by clicking the rightmost icon. After selecting the rocket from the prompt, it opens a dialogue box which calculates the number of items in the rocket, and the total weight of the rocket.
- You can locate my visual component by opening the app. It has a background that is painted on the graphics, and is the "wallpaper" of my app.
- You can save the state of my application by clicking the "File" menu at the top of the window, and clicking "Save". It saves the Fleet onto a JSON file.
- You can reload the state of my application by clicking the "File" menu at the top of the window, and clicking "Load". It will load the previous state of the application from the JSON file.
Thu Nov 27 21:46:18 PST 2025 New rocket added: Saturn
Thu Nov 27 21:46:31 PST 2025 New rocket added: Gemini
Thu Nov 27 21:46:38 PST 2025 Item Fuel weighing 50.0kg added to Saturn
Thu Nov 27 21:47:18 PST 2025 Item Gorilla Suit weighing 5.0kg added to Saturn
Thu Nov 27 21:47:34 PST 2025 Item Food Supplies weighing 20.0kg added to Gemini
Thu Nov 27 21:47:39 PST 2025 Total items in Saturn calculated to be 2
Thu Nov 27 21:47:39 PST 2025 Total mass of items in Saturn calculated to be 55kg
The project design is simple, and it does not contain too many classes. However, the RocketAppUI class ended up quite dense and had a lot of functionality in that one class. I would refactor a seperate (potentially abtract) class for initializing each new window, icon, and menu bar. Therefore, the code in RocketAppUI would be focused on implementing the functionality of each element instead of also initializing each element as well.