Maritime model store with a local cabinet
Keel & Frame
Choose model kits, manage the cart, create a browser-local profile during checkout, select delivery and a payment method, and review the saved order.
- Nuxt
- Vue
- TypeScript
- PrimeVue
- Pinia
Design problem
The cart quantity, profile, delivery, payment choice, confirmation, and order history must describe the same order. The checkout must also make clear that data stays in this browser and no real payment is taken.
Main user flow
-
Choose a model kit
Browse vessel types, open a product page, review scale and included materials, and see whether the item is already in the cart.
-
Build the cart
Add more units, change quantities, remove items, and keep product-page and cart counts synchronized.
-
Complete checkout
Create a browser-local profile inline when needed, keep the cart intact, then choose additional options, delivery, and a simulated payment method on the same checkout page.
-
Review the saved order
Open the cabinet after confirmation to check profile details, purchased items, options, delivery, payment choice, and total.
Key decisions
-
Keep related data together
Profile, cart, and orders are saved together in this browser. They survive reload, can be reset explicitly, and do not synchronize across devices.
Critical states
-
Truthful disclosure at the action
The checkout explains local persistence and the absence of real payment only where those limitations affect the user's decision.
-
Accessible destructive confirmation
Resetting the local profile and orders uses a keyboard-operable modal with explicit cancel and confirm actions instead of a browser dialog.