Create a new content type called dish. Use CCK to add the following fields to your dish content type:
- CCK File Field (image field) for your Photo, call this food_photo
- CCK Money field for your price, call this food_price
- CCK Text field for your description, call this food_description
Create a new vocabulary called foodcategories. Add all of your "japanese food", "chinese food", "italian food" etc to this, and allow the node type dish.
Create a View of type node. Filter the view to node type dish. Select the fields food_photo, food_price and food_description, node title and taxonomy term from the vocabulary foodcategories. Group by the taxonomy term field. Order by the node title field ascending or by price, whatever.
That's as much of the answer as I can be bothered typing out.