How can I customize Entry Title to avoid confusions for entries with the same name

You can achieve it by create a field to product table, this field is combined from Restaurant name and Category name, and then write a afterUpdate lifecycle if you want to update that after updating Restaurant name or Category name