Kokudankokuya — in an inherited catalogue the sellable unit drops to the volume
A scent stays as one product record while the bottle volumes are separately sellable units: price and stock both ride on the volume. Adding a new volume opens no new product, and the scent record stays single. Note and scent family run as a second axis beside the category tree, and because a perfume can attach to more than one note, the same product turns up from different searches instead of sitting in one branch. The catalogue's scale asked for no separate search or cache layer, so the shop sits on Laravel and MySQL. Tills and accounting stay outside the scope.
Read the case study →