Kokudankokuya — one scent record, volume as sellable unit, note as second axis
A perfume shop whose catalogue follows the logic of the shelf: a scent is one product record, volumes are separate sellable units, price and stock hang off the volume, and adding a size opens no new product. Beside the category tree, fragrance family and note open a second axis, so a customer who cannot name the brand starts from a scent's character and reaches the bottle. A perfume attaches to several notes, which is why one record answers to different searches. The catalogue's scale asked for no separate search or cache layer; the shop sits on Laravel and MySQL.
Read the case study →